- Use robust, valid code and keep it simple. Remember that there are many different types of disabilities and many different types of assistive technologies to help these users. Developers mostly need to worry about proper programming and keeping things simple. Is your website coded correctly to stand the test of time and meet compatibility requirements with many different devices?
- Native HTML controls should always be your first choice. These controls are robust and have concrete standards that assistive technology can leverage. Make sure that controls have a label, role (button, link, etc.), and value properly associated. Accessible Rich Internet Applications (ARIA) should only be used as a last resort or workaround.
- Similarly, in mobile apps, use native widgets whenever possible. Custom libraries can be difficult to make accessible if accessibility was not considered a feature of the library.
- Most accessibility settings for iOS can be found in the Storyboard.
- Most accessibility tweaks can be done in Android at this point, but they may be a little more difficult and harder to find in documentation.
- Give careful thought to focus issues. Does the focus order make sense? Does anything unexpected happen when something gains focus? See our article explaining a sample route a screen reader might take through an interface.
- Make sure it’s operable. Can you use all of the site’s features with only a keyboard, touch screen, mouse, or switch? For mobile, this translates to “can I use the app using only the screen reader swipe gestures?”
- Make sure users can perceive the content. Cool features won’t do any good if users can’t spot them. For example, when an element of the page has focus, does a border or sufficient color change appear around it? Is the color contrast high enough throughout? Are images labeled correctly?
- Add helpful context. Grouping, labeling, proper headings, and using the ARIA-described by attribute are good methods for adding context to complex layouts.
How Does Web Content Accessibility Guidelines (WCAG) Apply to Mobile Apps?
Programmers often ask us if WCAG apply to native mobile applications. The short answer is yes.
- WCAG is mostly device- and platform-agnostic, with a few exceptions like keyboard requirements.
- If we interpret “keyboard” requirements as something like “screen reader swipe gestures” it becomes very similar to using the linear (element to element) navigation.