You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Kbridge/main/update for winappsdk winui accessibility (#6552)
* Freshness update: accessibility folder for WinUI/Windows App SDK
Update all 15 articles in hub/apps/design/accessibility/:
- Update ms.date to 03/17/2026 (14 files)
- Add windows 11, winui, winapp sdk to keywords (all files)
- Add WinUI 3 / Windows App SDK applicability notes (checklist, custom-automation-peers)
- Add Microsoft.UI.Xaml.Automation namespace reference (overview)
- Replace UWP-specific language with platform-neutral wording (overview, accessible-text-requirements, developing-inclusive-windows-apps, system-button-narration)
- Mark archived MSDN Code Gallery sample links as (archived) (overview, accessible-text-requirements, basic-accessibility-information, high-contrast-themes)
Co-authored-by: Copilot <[email protected]>
* more ai suggestions and human refinements
* more ai suggestions and human refinements
* more ai suggestions and human refinements
* more ai suggestions and human refinements
* more ai suggestions and human refinements
* more ai suggestions and human refinements
* update for winappsdk/winui with help from Claude Opus 4.6 and GPT-5.3-Codex
* update for winappsdk/winui with help from Claude Opus 4.6 and GPT-5.3-Codex
* update for winappsdk/winui with help from Claude Opus 4.6 and GPT-5.3-Codex
* build warnings
---------
Co-authored-by: Copilot <[email protected]>
keywords: windows 11, winui, winappsdk, windows app sdk
10
10
ms.localizationpriority: medium
11
11
---
12
+
12
13
# Accessibility checklist
13
14
14
-
Provides a checklist to help you ensure that your Windows app is accessible .
15
+
This topic provides recommendations for making your Windows app accessible and discoverable to customers looking for accessible apps in the Microsoft Store.
16
+
17
+
> [!NOTE]
18
+
> This guidance is written for WinUI 3 / Windows App SDK apps. If you are maintaining a legacy UWP app, equivalent APIs are available in the `Windows.UI.Xaml` namespaces.
15
19
16
-
Here we provide a checklist you can use to ensure that your app is accessible.
20
+
Use the following recommendations during design, implementation, and testing. Together, they cover core accessibility expectations for keyboard use, readable content, assistive technology compatibility, and Microsoft Store discoverability.
17
21
18
22
1. Set the accessible name (required) and description (optional) for content and interactive UI elements in your app.
19
23
20
-
An accessible name is a short, descriptive text string that a screen reader uses to announce a UI element. Some UI elements such as [**TextBlock**](/uwp/api/Windows.UI.Xaml.Controls.TextBlock) and [**TextBox**](/uwp/api/Windows.UI.Xaml.Controls.TextBox) promote their text content as the default accessible name; see [Basic accessibility information](basic-accessibility-information.md#name_from_inner_text).
24
+
An accessible name is a short, descriptive text string that a screen reader uses to announce a UI element. Some UI elements such as [TextBlock](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.textblock) and [TextBox](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.controls.textbox) promote their text content as the default accessible name; see [Name from inner text](basic-accessibility-information.md#name-from-inner-text).
21
25
22
-
You should set the accessible name explicitly for images or other controls that do not promote inner text content as an implicit accessible name. You should use labels for form elements so that the label text can be used as a [**LabeledBy**](/previous-versions/windows/silverlight/dotnet-windows-silverlight/ms591292(v=vs.95)) target in the Microsoft UI Automation model for correlating labels and inputs. If you want to provide more UI guidance for users than is typically included in the accessible name, accessible descriptions and tooltips help users understand the UI.
26
+
You should set the accessible name explicitly for images or other controls that do not promote inner text content as an implicit accessible name. You should use labels for form elements so that the label text can be used as a [LabeledBy](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.automation.automationproperties.labeledby) target in the Microsoft UI Automation model for correlating labels and inputs. If you want to provide more UI guidance for users than is typically included in the accessible name, accessible descriptions and tooltips help users understand the UI.
23
27
24
-
For more info, see [Accessible name](basic-accessibility-information.md#accessible_name) and [Accessible description](basic-accessibility-information.md).
28
+
For more info, see [Accessible name](basic-accessibility-information.md#accessible-name) and [Accessible description](basic-accessibility-information.md).
25
29
26
30
2. Implement keyboard accessibility:
27
31
28
-
* Test the default tab index order for a UI. Adjust the tab index order if necessary, which may require enabling or disabling certain controls, or changing the default values of [**TabIndex**](/uwp/api/windows.ui.xaml.controls.control.tabindex) on some of the UI elements.
29
-
* Use controls that support arrow-key navigation for composite elements. For default controls, the arrow-key navigation is typically already implemented.
30
-
* Use controls that support keyboard activation. For default controls, particularly those that support the UI Automation [**Invoke**](/uwp/api/Windows.UI.Xaml.Automation.Provider.IInvokeProvider) pattern, keyboard activation is typically available; check the documentation for that control.
31
-
* Set access keys or implement accelerator keys for specific parts of the UI that support interaction.
32
-
* For any custom controls that you use in your UI, verify that you have implemented these controls with correct [**AutomationPeer**](/uwp/api/Windows.UI.Xaml.Automation.Peers.AutomationPeer) support for activation, and defined overrides for key handling as needed to support activation, traversal and access or accelerator keys.
32
+
- Test the default tab index order for a UI. Adjust the tab index order if necessary, which may require enabling or disabling certain controls, or changing the default values of [TabIndex](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.uielement.tabindex) on some of the UI elements.
33
+
- Use controls that support arrow-key navigation for composite elements. For default controls, the arrow-key navigation is typically already implemented.
34
+
- Use controls that support keyboard activation. For default controls, particularly those that support the UI Automation [Invoke](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.automation.provider.iinvokeprovider.invoke) pattern, keyboard activation is typically available; check the documentation for that control.
35
+
- Set access keys or implement accelerator keys for specific parts of the UI that support interaction.
36
+
- For any custom controls that you use in your UI, verify that you have implemented these controls with correct [AutomationPeer](/windows/windows-app-sdk/api/winrt/microsoft.ui.xaml.automation.peers.automationpeer) support for activation, and defined overrides for key handling as needed to support activation, traversal and access or accelerator keys.
33
37
34
38
For more info, see [Keyboard interactions](../input/keyboard-interactions.md).
35
39
36
40
3. Ensure text is a readable size
37
41
38
-
* Windows includes various accessibility tools and settings that users can take advantage of and adjust to their own needs and preferences for reading text. These include:
39
-
* The Magnifier tool, which enlarges a selected area of the UI. You should ensure the layout of text in your app doesn't make it difficult to use Magnifier for reading.
40
-
* Global scale and resolution settings in **Settings->System->Display->Scale and layout**. Exactly which sizing options are available can vary as this depends on the capabilities of the display device.
41
-
* Text size settings in **Settings->Ease of access->Display**. Adjust the **Make text bigger** setting to specify only the size of text in supporting controls across all applications and screens (all UWP text controls support the text scaling experience without any customization or templating).
42
+
- Windows includes various accessibility tools and settings that users can take advantage of and adjust to their own needs and preferences for reading text. These include:
43
+
- The Magnifier tool, which enlarges a selected area of the UI. You should ensure the layout of text in your app doesn't make it difficult to use Magnifier for reading.
44
+
- Global scale and resolution settings in **Settings->System->Display->Scale and layout**. Exactly which sizing options are available can vary as this depends on the capabilities of the display device.
45
+
- Text size settings in **Settings->Ease of access->Display**. Adjust the **Make text bigger*- setting to specify only the size of text in supporting controls across all applications and screens (XAML text controls support text scaling without additional customization in standard scenarios).
42
46
> [!NOTE]
43
-
> The **Make everything bigger** setting lets a user specify their preferred size for text and apps in general on their primary screen only.
47
+
> The **Make everything bigger*- setting lets a user specify their preferred size for text and apps in general on their primary screen only.
44
48
45
49
4. Visually verify your UI to ensure that the text contrast is adequate, elements render correctly in the high-contrast themes, and colors are used correctly.
46
50
47
-
* Use a color analyzer tool to verify that the visual text contrast ratio is at least 4.5:1.
48
-
* Switch to a high contrast theme and verify that the UI for your app is readable and usable.
49
-
* Ensure that your UI doesn’t use color as the only way to convey information.
51
+
- Use a color analyzer tool to verify that the visual text contrast ratio is at least 4.5:1.
52
+
- Switch to a high contrast theme and verify that the UI for your app is readable and usable.
53
+
- Ensure that your UI doesn't use color as the only way to convey information.
50
54
51
55
For more info, see [High-contrast themes](high-contrast-themes.md) and [Accessible text requirements](accessible-text-requirements.md).
52
56
53
57
5. Run accessibility tools, address reported issues, and verify the screen reading experience.
54
58
55
-
Use tools such as [**Inspect**](/windows/desktop/WinAuto/inspect-objects) to verify programmatic access, run diagnostic tools such as [**AccChecker**](/windows/desktop/WinAuto/ui-accessibility-checker) to discover common errors, and verify the screen reading experience with Narrator.
59
+
Use tools such as [Inspect](/windows/desktop/WinAuto/inspect-objects) to verify programmatic access, run diagnostic tools such as [AccChecker](/windows/desktop/WinAuto/ui-accessibility-checker) to discover common errors, and verify the screen reading experience with Narrator.
56
60
57
61
For more info, see [Accessibility testing](accessibility-testing.md).
58
62
59
-
6. Make sure your app manifest settings follow accessibility guidelines.
63
+
6. Add automated accessibility regression checks to your CI pipeline.
64
+
65
+
Run automated checks for critical screens and flows in pull requests and continuous integration. Configure your pipeline to block merges or releases when critical accessibility regressions are detected.
66
+
67
+
7. Make sure your app manifest settings follow accessibility guidelines, see [Security Considerations for Assistive Technologies](/windows/win32/winauto/uiauto-securityoverview).
60
68
61
-
7. Declare your app as accessible in the Microsoft Store.
69
+
8. Declare your app as accessible in the Microsoft Store.
62
70
63
-
If you implemented the baseline accessibility support, declaring your app as accessible in the Microsoft Store can help reach more customers and get some additional good ratings.
71
+
If you implemented the baseline accessibility support, declaring your app as accessible in the Microsoft Store can help reach more customers and potentially improve ratings.
64
72
65
73
For more info, see [Accessibility in the Store](accessibility-in-the-store.md).
66
74
67
75
## Related topics
68
76
69
-
*[Accessible text requirements](accessible-text-requirements.md)
70
-
*[Text scaling](../input/text-scaling.md)
71
-
*[Accessibility](accessibility.md)
72
-
*[Design for accessibility](./accessibility-overview.md)
73
-
*[Practices to avoid](practices-to-avoid.md)
77
+
-[Accessible text requirements](accessible-text-requirements.md)
78
+
-[Text scaling](../input/text-scaling.md)
79
+
-[Accessibility](accessibility.md)
80
+
-[Design for accessibility](./accessibility-overview.md)
keywords: windows 11, winui, winappsdk, windows app sdk
10
10
ms.localizationpriority: medium
11
11
---
12
-
# Accessibility in the Store
13
12
13
+
# Accessibility in the Store
14
14
15
+
This topic describes the requirements for declaring your Windows app as accessible in the Microsoft Store.
15
16
16
-
Describes the requirements for declaring your Windows app as accessible in the Microsoft Store.
17
-
18
-
While submitting your app to the Microsoft Store for certification, you can declare your app as accessible. Declaring your app as accessible makes it easier to discover for users who are interested in accessible apps, such as users who have visual impairments. Users discover accessible apps by using the **Accessible** filter while searching the Microsoft Store. Declaring your app as accessible also adds the **Accessible** tag to your app’s description.
17
+
While submitting your app to the Microsoft Store for certification, you can declare your app as accessible. Declaring your app as accessible makes it easier to discover for users who are interested in accessible apps, such as users who have visual impairments. Users discover accessible apps by using the **Accessible** filter while searching the Microsoft Store. Declaring your app as accessible also adds the **Accessible** tag to your app's description.
19
18
20
19
By declaring your app as accessible, you state that it has the [basic accessibility information](basic-accessibility-information.md) that users need for primary scenarios using one or more of the following:
21
20
22
-
* The keyboard.
23
-
* A high contrast theme.
24
-
* A variable dots per inch (dpi) setting.
25
-
* Common assistive technology such as the Windows accessibility features, including Narrator, Magnifier, and On-Screen Keyboard.
21
+
- The keyboard.
22
+
- A high contrast theme.
23
+
- A variable dots per inch (dpi) setting.
24
+
- Common assistive technology such as the Windows accessibility features, including Narrator, Magnifier, and On-Screen Keyboard.
26
25
27
26
You should declare your app as accessible if you built and tested it for accessibility. This means that you did the following:
28
27
29
-
* Set all the relevant accessibility information for UI elements, including name, role, value, and so on.
30
-
* Implemented full keyboard accessibility, enabling the user to:
31
-
* Accomplish primary app scenarios by using only the keyboard.
32
-
* Tab among UI elements in a logical order.
33
-
* Navigate among UI elements within a control by using the arrow keys.
34
-
* Use keyboard shortcuts to reach primary app functionality.
35
-
* Use Narrator touch gestures for Tab and arrow equivalency for devices with no keyboard.
36
-
* Ensured that your app UI is visually accessible: has a minimum text contrast ratio of 4.5:1, does not rely on color alone to convey information, and so on.
37
-
* Used accessibility testing tools such as [**Inspect**](/windows/desktop/WinAuto/inspect-objects) and [**UIAVerify**](/windows/desktop/WinAuto/ui-automation-verify) to verify your accessibility implementation, and resolved all priority 1 errors reported by such tools.
38
-
* Verified your app’s primary scenarios from end to end by using Narrator, Magnifier, On-Screen Keyboard, a high contrast theme, and adjusted dpi settings.
28
+
- Set all the relevant accessibility information for UI elements, including name, role, value, and so on.
29
+
- Implemented full keyboard accessibility, enabling the user to:
30
+
- Accomplish primary app scenarios by using only the keyboard.
31
+
- Tab among UI elements in a logical order.
32
+
- Navigate among UI elements within a control by using the arrow keys.
33
+
- Use keyboard shortcuts to reach primary app functionality.
34
+
- Use Narrator touch gestures for Tab and arrow equivalency for devices with no keyboard.
35
+
- Ensured that your app UI is visually accessible: has a minimum text contrast ratio of 4.5:1, does not rely on color alone to convey information, and so on.
36
+
- Used accessibility testing tools such as [**Inspect**](/windows/desktop/WinAuto/inspect-objects) and [**UIAVerify**](/windows/desktop/WinAuto/ui-automation-verify) to verify your accessibility implementation, and resolved all priority 1 errors reported by such tools.
37
+
- Verified your app's primary scenarios from end to end by using Narrator, Magnifier, On-Screen Keyboard, a high contrast theme, and adjusted dpi settings.
39
38
40
-
See the [Accessibility checklist](accessibility-checklist.md) for a review of these procedures and links to resources that will help you accomplish them.
39
+
See the [Accessibility checklist](accessibility-checklist.md) for more detail on these procedures and links to resources.
0 commit comments