| title | Develop accessible Windows apps |
|---|---|
| description | Learn how to implement accessibility in your Windows apps, including keyboard navigation, screen reader support, contrast themes, and UI Automation. |
| ms.topic | article |
| ms.date | 03/26/2026 |
| keywords | accessibility, windows app sdk, winui, screen reader, keyboard, contrast, ui automation |
Build accessible and inclusive Windows applications with improved functionality and usability for people of all abilities. There are three core pillars to making your app accessible:
- Programmatic access — Expose accessible names, roles, and values for all UI elements so that assistive technologies like screen readers can interpret your app.
- Keyboard navigation — Ensure every part of your app can be operated with a keyboard for users who cannot use a mouse or touchscreen.
- Color and contrast — Support high contrast themes and ensure your text meets minimum contrast ratios (4.5:1 for normal text, 3:1 for large text).
For design principles and guidelines on building inclusive apps, see Accessibility overview and Designing inclusive software.
| Article | Description |
|---|---|
| Expose basic accessibility information | Set accessible names, roles, and values so assistive technologies can interpret your UI. |
| Landmarks and headings | Use UI Automation landmarks and headings to help users navigate content efficiently. |
| Screen readers and hardware system buttons | Handle hardware button events for screen readers such as Narrator. |
| Custom automation peers | Implement automation peers for custom controls to provide UI Automation support. |
| Control patterns and interfaces | Reference for UI Automation control patterns and provider interfaces. |
| Article | Description |
|---|---|
| Keyboard accessibility | Implement tab order, arrow-key navigation, access keys, and keyboard activation. |
| Article | Description |
|---|---|
| Contrast themes | Ensure your app works with high contrast themes using theme resources and resource dictionaries. |
| Accessible text requirements | Meet contrast ratios, use correct text element roles, and support text scaling. |
| Article | Description |
|---|---|
| Accessibility testing | Test with Accessibility Insights, Inspect, and Narrator to verify your app is accessible. |
| Accessibility checklist | Step-by-step checklist to ensure your app meets accessibility requirements, including Store declaration. |
Download and run full Windows samples that demonstrate various accessibility features and functionality.
:::row::: :::column::: Code sample browser
The new samples browser replacing the MSDN Code Gallery.
:::column-end::: :::column::: Windows App SDK samples on GitHub
These samples demonstrate the API usage patterns for Windows App SDK and WinUI.
:::column-end::: :::row-end::: :::row::: :::column span="2"::: WinUI 3 Gallery
This app demonstrates the various WinUI controls supported in the Fluent Design System.
:::column-end::: :::row-end:::
Various videos covering how to build accessible Windows applications to general accessibility concerns and how Microsoft addresses them.
:::row::: :::column::: Microsoft's Accessibility API :::column-end::: :::column::: Introduction to disability and accessibility :::column-end::: :::row-end::: :::row::: :::column::: > [!VIDEO https://www.youtube.com/embed/6b0K2883rXA] :::column-end::: :::column::: > [!VIDEO https://www.youtube.com/embed/Kl4CT4DaypM] :::column-end::: :::row-end:::
:::row::: :::column span="3"::: Blogs and news
The latest from the world of Microsoft accessibility.
:::column-end::: :::row-end::: :::row::: :::column::: In the news :::column-end::: :::column::: Accessibility blogs :::column-end::: :::column::: Windows UI Automation blogs :::column-end::: :::row-end::: :::row::: :::column span="3"::: Community and support
A place where Windows developers and users meet and learn together.
:::column-end::: :::row-end::: :::row::: :::column::: Windows community - Accessibility :::column-end::: :::column::: Disability Answer Desk :::column-end::: :::row-end:::
