
Hello Everyone,
Making a Power Pages portal (from Microsoft’s Power Platform) compliant with WCAG 2.1 Level A and AA means addressing accessibility across design, content, and code. Power Pages gives you a solid starting point, but compliance depends on how you build and customise it.
Here’s a practical, structured way to get there:
Power Pages portals use templates (often based on Bootstrap).
Choose themes with good colour contrast
Avoid heavily customised UI that breaks semantic structure
Ensure responsive design (important for accessibility + zoom)
👉 Tip: Use tools like contrast checkers to meet 4.5:1 ratio (AA).
WCAG relies heavily on structure.
Use correct heading hierarchy (h1 → h2 → h3)
Use semantic elements (<nav>, <main>, <footer>)
Avoid using <div> for everything
In Power Pages:
Edit templates via Portal Management app
Ensure Liquid templates output proper HTML
Every feature must work without a mouse.
Check:
Tab navigation works logically
No keyboard traps
Focus indicators are visible
Fix:
Add tabindex where needed (carefully)
Ensure modals and menus are accessible
or all non-text content:
Images → meaningful alt text
Decorative images → alt=""
Icons → labelled via aria-label if needed
Power Pages often includes forms (Dataverse forms).
Ensure:
Every input has a <label>
Errors are clearly described
Required fields are indicated
Instructions are clear
Enhancements:
Use aria-describedby for hints/errors
Provide inline validation messages
WCAG Level A/AA requires:
❌ Don’t rely only on colour
✔ Add:
Icons
Text labels
Underlines for links
Use ARIA only when HTML isn’t enough.
Examples:
aria-label
aria-live for dynamic updates
role="navigation"
⚠️ Don’t overuse ARIA—bad ARIA can make things worse.
Use consistent menus
Highlight current page
Make dropdowns keyboard accessible
If your portal includes media:
Videos → captions (AA requirement)
Audio → transcripts
Avoid auto-play
You cannot rely on assumptions—test everything.
axe DevTools
Lighthouse
WAVE
Keyboard-only navigation
Screen readers like NVDA or JAWS
Power Pages often loads data dynamically.
Ensure:
Screen readers are notified (aria-live)
Focus moves correctly after updates
No unexpected context changes
For ongoing compliance:
Create accessibility guidelines for your team
Train content editors
Add accessibility checks to deployment process
Watch out for:
Custom JavaScript breaking keyboard navigation
Poorly styled buttons/links
Missing labels in Dataverse forms
Modals that trap focus
Low contrast in branding overrides
✔ Keyboard accessible
✔ Proper headings & landmarks
✔ Alt text everywhere
✔ Form labels + error messages
✔ Colour contrast compliant
✔ Captions for video
✔ Skip navigation link
✔ Tested with screen reader
Original Post https://mscrmgmr.blogspot.com/2026/03/how-to-make-power-page-portal-wcag-21.html






