# Accessibility testing for Polaris We want Polaris and Shopify’s platform to be accessible for people with disabilities and impairments. A large part of this is making sure that Polaris components meet Level A and Level AA success criteria of the [Web Content Accessibility Guidelines (WCAG 2.1)](https://www.w3.org/TR/WCAG21/). **Looking for more information about accessibility?** See our [accessibility overview](https://github.com/Shopify/polaris-react/blob/master/documentation/Accessibility.md). ## Automated testing Running an automated tool like [Pa11y](https://github.com/pa11y/pa11y) locally before you submit your pull request is recommended. ## Manual testing Many accessibility tests can’t be automated, so you’ll want to do some manual testing on Playground or Storybook content as well. This checklist includes items that will likely not be caught by Pa11y, but doesn’t include items reliant on specific content or language. Refer to the full [WCAG 2.1](https://www.w3.org/TR/WCAG21/) recommendation (and any other guidelines required for your particular product) for all considerations that may impact your project. The [Polaris style guide](https://polaris.shopify.com/) also provides guidelines for usability and consistency that should be considered. ### When to test You don’t need to test everything all the time. Use this guide to decide what to test based on the changes or new features you’ve developed. - If you’ve added content, see the [**Structure** section](#structure) and the [**Visuals** section](#visuals). - If you have added interactive elements, see the [**Keyboard actions** section](#keyboard-actions). - If you have added dynamic content or controls, see the [**Dynamic content** section](#dynamic-content). - If you’re developing for mobile web, see the [**Touch and motion inputs** section](#touch-and-motion-inputs) and the [**Mobile layout** section](#mobile-layout). - If you have added images, video, or audio, see the [**Media support** section](#media-support). ### Manual testing checklist #### Structure - Content is marked up appropriately. ([1.3.1 Info and Relationships](https://www.w3.org/TR/WCAG21/#info-and-relationships)) - Content that users should access is in HTML. - Content that should be available to users does not have `hidden`, `aria-hidden="true"`, `visibility: hidden`, or `display: none` applied. - Semantic HTML elements (`
`, `