Power BI / Advanced: performance and governed delivery / Lesson 15
Accessible navigation and report state
Design a report journey whose labels, focus order, drill context and saved states remain understandable to different readers.
On this page
Lesson goals
- Use titles, alternate text and non-color cues meaningfully.
- Explain bookmark and drillthrough state contracts.
- Review keyboard and small-screen journeys separately.
Design for a reader task
A useful report journey begins with a question such as identify which product contributed to the selected month’s change, then inspect its detail. Organize overview, explanation and detail around that task instead of filling every available space with visuals. A reader should know the current population, metric meaning and freshness before interpreting a highlighted value. Navigation labels should describe destinations, and a reset action should explain what state it clears. The first record is a paper journey using synthetic values; it is not a screenshot, an accessibility certification or a claim that a user interface has been tested.
overview: selected month + Revenue definition + usable data cutoff
selection: Product A -> expected selected revenue50
detail: show Product A context and a clear return action
reset: restore the documented initial filter state
The plan describes intended states only. It does not interact with Power BI or save a bookmark.
Make meaning accessible
Use descriptive titles, appropriate alternate text, readable contrast and non-color indicators so meaning is not carried by color alone. Alternate text should explain the visual’s purpose and relevant context rather than repeat chart type mechanically. Keep the text accurate when selections change; static prose can become misleading if it states a number that no longer applies. Tab order and meaningful object names help keyboard and screen-reader navigation. Built-in support does not remove the author’s responsibility to configure and review the report. A decorated page can remain difficult to use if focus lands on irrelevant objects before the main question.
Treat bookmarks as state
Bookmarks can capture selected aspects of a report’s state, such as data selections, display and page location depending on their settings. A navigation bookmark that also restores an old slicer selection can surprise readers. Decide whether a bookmark should change data state or only presentation, then review the actual capture options. Personal consumer state and author-defined navigation are also different concepts. The second program compares two synthetic dictionaries to expose an unintended month reset. It neither reads a bookmark nor reproduces Power BI persistence, but it shows why state changes deserve explicit acceptance criteria rather than a button that merely appears to work.
before = {"page": "overview", "month": "2026-02", "product": "A"}
after = {"page": "detail", "month": "2026-01", "product": "A"}
changed = sorted(key for key in before if before[key] != after[key])
print(changed)
print(before["month"] == after["month"])
['month', 'page']
False
month and page change, so False exposes a month reset. No bookmark or report file is opened.
Preserve drillthrough context
A drillthrough destination should explain which entity and filters arrived, what additional filters apply and how the reader returns. A detail total can differ from the overview if the destination adds scope, but that difference must be visible. Drill down within a hierarchy is another interaction and should not be confused with moving to a detail page. Test both a valid selected entity and a destination opened without the expected context. A page filter is still not a security boundary. Navigation must preserve the model’s RLS and permission design rather than pretending that an obscure destination prevents access.
Review several consumption paths
Review mouse, keyboard, screen-reader-oriented structure and mobile layout as separate journeys with the same analytical contract. Check focus order, labels, selection visibility, reset behavior and no-data explanations. Custom visuals can have additional trust and accessibility considerations, so prefer a justified reviewed choice instead of adding one for decoration. This course runs no UI automation or assistive technology test. Its state comparison is local arithmetic only. A future authorized report review should record actual observations and limitations, keeping design intent distinct from verified accessibility and preserving metric meaning across every supported route.
Common errors and fixes
A navigation button silently resets the month
- Why it happens
- The bookmark captured data state unintentionally.
- How to fix it
- Review capture options and define which state should persist.
- Prevent it next time
- Test navigation with a non-default selection.
Status meaning exists only in red and green
- Why it happens
- Color was the only semantic cue.
- How to fix it
- Add meaningful text or shape cues and review contrast and reading order.
- Prevent it next time
- Include non-color and keyboard consumption in acceptance.
A detail page hides its inherited filter context
- Why it happens
- Navigation was tested by page arrival alone.
- How to fix it
- Expose entity, date scope and additional filters at the destination.
- Prevent it next time
- Verify detail totals and return/reset behavior with known fixtures.
Check your understanding
1. Why should a bookmark be tested after selecting February rather than only in the initial state?
Show worked solution
An unintended captured January selection is invisible when the page already starts in January. A non-default input exposes whether navigation changes data state. Define the expected persistent filters and compare before and after, then verify the resulting measure and visible context rather than checking only that the destination page opened.
2. What makes alternate text more useful than column chart showing sales?
Show worked solution
It explains the question, metric and relevant selection or trend without relying on sight or an obsolete static number. Keep it concise and accurate under changing context. Also review focus and labels, because alternate text alone does not establish that the whole report journey is accessible.
Key takeaways
- Navigation is a state contract, not only a destination link.
- Accessible design needs meaningful context and observed consumption checks.