Power BI Accessibility

Power BI dashboards require additional steps from the designer to meet WCAG 2.1 AA standards. Designers are responsible for taking the additional steps outlined in this guide to ensure compliance.

Alternative (Alt) Text

Alternative text in Power BI should describe the appearance and function of visuals and images.

To add alternative text: Click on the object, select the Format pane, select General, select Alt Text.

  • Alt text must be added to every object containing meaningful information, including text boxes, slicers, and buttons.
  • Text content from text boxes needs to be added as alt text for screen readers to read them.
  • When using shapes or images to call out data points, use alt text to explain what is being called out.
  • It is not necessary to describe specific data trends of a visual if those trends can change depending on how the dashboard is used.
  • Power BI supports using DAX and conditional formatting to make dynamic alt text.
  • Copilot for Power BI is not a substitute for alt text.

Alt text should be utilized to provide important context:

  • Do not assume users know what Power BI is. Explain that it is an interactive dashboard.
  • Add a description of the contents and tab order of the dashboard in alt text of the item first in the tab order. Provide an indication that accessibility was considered when designing the dashboard.
  • Users utilizing keyboard navigation to enter a particular visualization (i.e., a graph) may be unsure how to exit the visualization. It may be beneficial to provide brief instructions on exiting visualizations in alt text for key visuals.

Tab Order

Tab order is the order that users navigating a report via a keyboard will interact with the report.

To edit tab order: Navigate to the View tab in the ribbon. In the Show panes section, select Selection to display the Selection pane, click on Tab order.

  • Every object on the page is included in tab order by default in the order they were added to the page. The last element added will be the first element in the tab order.
  • Rearrange each object to a logical reading order.
  • Decorative shapes or objects can be hidden from the tab order by hovering over the object in the tab order list and clicking the hide icon that appears on the right.

Visual Selection

Visuals should be chosen intentionally, with key information accessible without user interaction. Arrange visuals to make important conclusions obvious.

Certain visuals require additional considerations:

  • For nontabular visuals, check that the Show data table tabular version provides enough information to draw the intended conclusions.
  • Be mindful of blank cells in tables and matrixes. Depending on the assistive technology and user settings used, blank cells may not be read by the assistive technology.
  • If slicers are present, add a button to clear all slicers.
  • For dashboards with many slicers, consider utilizing DAX code to include a textbox (visual or non-visual) summarizing what slicers are selected. Example template:
VAR TotalUniqueValues = CALCULATE(DISTINCTCOUNT('TABLE'[COLUMN]), REMOVEFILTERS('TABLE'[COLUMN]))

VAR SelectedValuesCount = CALCULATE(DISTINCTCOUNT('TABLE'[COLUMN]), ALLSELECTED('TABLE'[COLUMN]))

VAR [insert slicer name here] = "[insert slicer name here\]: " & if(TotalUniqueValues = SelectedValuesCount, "All", CONCATENATEX(VALUES('TABLE'[COLUMN]), [COLUMN], ",")) & " "

VAR intro = "Slicers currently selected: "

return

intro & [insert slicer name here] 

Color Accessibility

Do not rely on color as the only means to convey information.

  • Instead of relying on color, use text, icons, and differing data markers, line, and bar styles.
  • Ensure a minimum contrast of 3:1 for all visual information and 4.5:1 for text. Check via WebAIM.

Titles and Labels

Using clear and consistent titles and labels increases report understandability.

  • Avoid using undefined acronyms or jargon.
  • Ensure titles, axis labels, legend values, and data labels are easy to read.
  • Do not over clutter the dashboard with too many visuals, labels, or objects.
  • To best maximize the usefulness of generated trend content (such as by Copilot), use clear and consistent column naming in the underlying dataset.

Row Name (for tables)

Defining a row name for table visuals allows screen readers to read the name of the row (now the value of the column selected) without users having to enter into each cell of the row using keyboard navigation.

To select a row name: Select the table, select the Format pane, select Visual, expand Accessibility, select a column to use as row name.

Object Sizes

Design Consistency

Maintaining consistent design across report pages increases report understandability.

  • Ensure slicers across several pages use the same font, colors, and spatial position where possible.

Tooltips

Tooltips should not be used as the only way of conveying important information.

  • Tooltips can be used to add ancillary information.
  • Tooltips are included in the Show as a Table feature for each visual.

Audio & Video

Audio and video should not automatically begin when the page is rendered.

Providing Alternatives

Where appropriate, link to relevant or related text-based information on a website.

Power BI Accessibility Resources from Microsoft