Accessibility
Updated
Regardless of who you think your target audience is, there is not a single good argument for excluding anyone from comfortably using software. Anything done to improve accessibility benefits everyone—if not immediately, then eventually—as we are all only temporarily able at best.
I find myself debating this point far too frequently, but nothing speaks clearer than action so this post exists as an evolving record of some of the accessibility features of this website.
16pt+ body type
Type smaller than this is considered illegibile by Apple, Google, and a large percentage of the population.AAA contrast ratio
A minimum 7:1 contrast ratio is necessary to ensure people with poor eyesight can comfortably read content.Decorated links
Underlined hyperlinks are an established pattern that helps interactive content clearly stand out from static.Reduced motion
Motion can make some people feel unwell. Careful use andprefers-reduced-motion
querying is important.Reduced transparency
Transparency can help blend with the OS and add depth, but also reduce readability. Allow it to be disabled.Focus outlines
Dont't disable the:focus
state of interactive controls. Some people depend on it. Prioritise function over form.Increased contrast
Whenprefers-contrast
is checked, users expect borders around buttons and a contrast ratio greater than 7:1.ARIA roles
ARIA attributes make it possible to add semantics to user interface state which, in turn, helps screen readers.Appearance support
Dark Mode isn't just a gimmick or personal preference. In some situations, it's a better user experience.Performance
Speed is a feature. Having content load quickly makes it accessible to those on poor connections or old devices.Screen reader support
People with little-to-no vision experience the web through audio. You can make this experience nice too.Offline support
There are many parts of the world without cell coverage. Your website or application should work there too.Keyboard control
It's important that people who are unable to use a pointing device can navigate via a keyboard with ease.System fonts
Inheriting the operating system's font avoids CLS, enables type scaling, and has zero load time.