Transforming Risk Reporting: Build an Accessible Matrix in Power BI (Part 2)

In Part 1, we explored why the Risk Matrix is essential in project risk assessment and built its foundation in Power BI. We used Power Query and the M language to create a Risk Index, structured a Dimension Table with all possible Likelihood and Severity combinations, and linked it to a Facts Table. This allowed us to visualise risk distribution effectively using Power BI’s Matrix visual, without relying on custom visuals.

Missed Part 1? Catch up here!

Now that we have the structure in place, it’s time to make the Risk Matrix visually clear, accessible, and professional. Many traditional Risk Matrices rely on the Red-Amber-Green (RAG) colour scheme, but we know that this colour combination can cause accessibility issues. Today, we’ll format the Matrix with a high-contrast, structured layout that ensures clarity for everyone, regardless of visual impairments or display conditions.

Formatting the Matrix Visual

To create a clean and structured layout, we first refine the grid and borders:

  • Remove the default style: Go to Format Pane > Layout and Style Presets, and select None under Style.
  • Enable gridlines: Under Grid, turn on both Horizontal and Vertical Gridlines, setting their colour to black for clarity.
  • Apply consistent borders:
    • Column headers: Enable Top, Left, and Right borders (black).
    • Row headers: Enable Top, Bottom, Right, and Left borders (black).
    • Values section: Enable Bottom, Top and Right borders (black).
  • Disable the Column Subtotals as well as the Row Subtotals.

Adjusting Readability: Font Sizes & Spacing

Since the Risk Matrix needs to be quickly interpreted, we increase font sizes for better legibility:

  • Values → Size 16
  • Column Headers & Row Headers → Size 16
  • You can tailor these sizes based on report requirements.

For a more polished design, we can also customise font type to match branding guidelines while maintaining readability.

Applying Accessible Colours for Risk Categories

Traditional RAG colours can be challenging for colour-blind users, we should select a more accessible palette using the Adobe Colour Wheel. Here are the colours for this demo:

  • Dark Blue (#1F3FCF)
  • Light Blue (#81BBE0)
  • Grey (#878691)
  • Orange (#EB8033)

We need to apply the conditional formatting based on the Sum of the Risk Score, which is calculated by multiplying Likelihood and Severity (for better performance, this calculation should be done in Power Query). Please note that different projects may require different attribution. This is just an example.

Risk ScoreBackground Colour
≤ 3Dark Blue (#1F3FCF)
>3 & ≤6Light Blue (#81BBE0)
>6 & ≤12Grey (#878691)
>12Orange (#EB8033)
Screenshot of a conditional formatting settings window for background color in a data visualization tool. The window allows users to set rules for background color based on the sum of a 'Risk Score' column. Steps to configure the settings are highlighted and numbered. Rules section includes specific thresholds and corresponding colors: blue for values 0-3, light blue for 3-6, gray for 6-12, and orange for values above 12. Users can use these settings to apply conditional formatting to their data visualizations based on specific criteria

Ensuring Colour Contrast for Text Readability

To maintain WCAG 2.2 compliance, we need at least 4.5:1 contrast between text and background. Using Adobe Colour Contrast Analyzer, we assigned font colours:

Background ColourText ColourColour Contrast
Dark Blue (#1F3FCF)White7.86:1
Light Blue (#81BBE0)Black10.12:1
Grey (#878691)Black5.85:1
Orange (#EB8033)Black7.67:1

We need to apply conditional formatting to the font colour using the same Risk Score logic as the background formatting.

Screenshot of a conditional formatting settings window for font color in a data visualization tool. The window shows how to set up rules based on the sum of a 'Risk Score' column. The steps are highlighted and numbered: change the 'Format style' to Rules, select the 'Sum of Risk Score' column, change 'Summarization' to Sum, and add thresholds for each color. Rules include: white font for values 0-3, black for values 3-6, black for values 6-12, and black for values 12 and above. Use 'Show as Table' (Shift + Alt + F11) for a screen reader-friendly data table

Final Adjustments: Column Width & Layout Stability

  • Disable “Auto-sized width” under Column Headers to prevent layout shifting when data updates.
  • Adjust column widths to ensure all text is visible without unnecessary gaps.

Bringing It All Together: Why This Approach Works

By implementing structured formatting, we’ve ensured that the Risk Matrix in Power BI is:
Visually Clear: Larger text, structured gridlines, and consistent formatting make the matrix easy to read.

Fully Accessible – Colour contrast and non-RAG colours make it readable for all users, including those with colour vision deficiencies.

Professional & Scalable – The formatting adapts to different datasets and project requirements.

Taking accessibility and usability into account improves clarity and efficiency for everyone. A well-designed Risk Matrix ensures that risks are easily identified, communicated, and managed effectively in any project environment.

If you’re a visual learner, here is a step-by-step demo on my YouTube channel. If you have not subscribed yet, make sure you do! Learning Power BI & Accessible Design – YouTube.

Thank you for joining me on this journey. Until next time, let’s keep crafting accessible insights that make a difference!

Smart Frames is on YouTube and LinkedIn now!

Check out Accessible BI for practical Power BI tutorials and tips on making data accessible to everyone. Subscribe here: Accessible BI YouTube Channel

Follow on LinkedIn.

Leave a Reply

Discover more from Smart Frames UI

Subscribe now to keep reading and get access to the full archive.

Continue reading