Develop accessible Windows apps

April 7, 2026 · View on GitHub

Accessibility hero image

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:

  1. Programmatic access — Expose accessible names, roles, and values for all UI elements so that assistive technologies like screen readers can interpret your app.
  2. Keyboard navigation — Ensure every part of your app can be operated with a keyboard for users who cannot use a mouse or touchscreen.
  3. 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.

Implementation guides

Screen readers and UI Automation

ArticleDescription
Expose basic accessibility informationSet accessible names, roles, and values so assistive technologies can interpret your UI.
Landmarks and headingsUse UI Automation landmarks and headings to help users navigate content efficiently.
Screen readers and hardware system buttonsHandle hardware button events for screen readers such as Narrator.
Custom automation peersImplement automation peers for custom controls to provide UI Automation support.
Control patterns and interfacesReference for UI Automation control patterns and provider interfaces.

Keyboard navigation

ArticleDescription
Keyboard accessibilityImplement tab order, arrow-key navigation, access keys, and keyboard activation.

Visual accessibility

ArticleDescription
Contrast themesEnsure your app works with high contrast themes using theme resources and resource dictionaries.
Accessible text requirementsMeet contrast ratios, use correct text element roles, and support text scaling.

Testing and verification

ArticleDescription
Accessibility testingTest with Accessibility Insights, Inspect, and Narrator to verify your app is accessible.
Accessibility checklistStep-by-step checklist to ensure your app meets accessibility requirements, including Store declaration.

Samples

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:::

Videos

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:::

Other resources

:::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:::