
A Compose document list needs a semantic structure that explains each item and its available actions. Visual alignment, icons and swipe gestures alone do not provide the same information to someone using assistive technology.
Android's semantics guide describes the roles, states and actions exposed alongside the visual composition. Standard components provide useful defaults, while custom rows and interactions require a deliberate review.
Describe the row's purpose
Choose the information that identifies an item in context. For a receipt list, that may include a vendor, date and the record's review state.
Scan Pro Receipt describes receipt organization and export and appears in the Compose collection. This association does not establish its accessibility behavior. It offers a concrete workflow for designing a review with synthetic records.
Avoid announcing every decorative element. A thumbnail, separator and repeated currency icon should not overwhelm the information needed to identify the receipt.
Separate information from actions
A row may open details while a nearby control selects it for export. Those are different operations and should have distinguishable names and states.
Check what happens when the entire row is clickable. Nested controls can create confusing traversal or duplicated announcements if their semantics are combined without considering the interaction.
Use the semantics tree to inspect what is exposed, then test with the intended accessibility service. A tree inspection is helpful evidence, but it does not replace the actual experience.
Make gesture actions discoverable
If swiping removes or archives an item, provide an accessible way to perform that action. Compose supports custom accessibility actions for interactions that may be difficult to express through a touchscreen gesture.
Name the action by its effect. “Remove receipt” is more useful than “Swipe left,” because the reader needs to understand the outcome rather than imitate the gesture.
Define a correction path when removal has a meaningful cost.
Communicate changing state
A selected item should expose its selection state. A record awaiting review should not be indistinguishable from a completed one if that difference affects the next action.
When processing or validation changes a row, keep the update understandable without repeatedly announcing the whole list. Test the actual task of locating and correcting an item.
Do not use color as the only indicator of a status that users must act on.
Review a complete task
Create several synthetic records, including similar names and one incomplete item. Locate the incomplete record, open it, correct a field and return to the list.
Then select the intended records for export using the supported assistive interaction. Confirm that focus and selection remain coherent after returning from details.
The state restoration guide addresses the related question of preserving that task during interruption.
Record the spoken labels, available actions and any redundant traversal. Fix the underlying semantics instead of adding broad descriptions that conceal individual controls.
Repeat the task after custom styling or row restructuring. A visual refactor can change semantic merging even when every icon remains in the same apparent position.
The goal is a list whose meaning and operations are available through more than its visual arrangement.


