Skip to content

Aims to be the biggest checklist of inclusive design considerations ever

Notifications You must be signed in to change notification settings

mgifford/inclusive-design-checklist

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 

Repository files navigation

Inclusive Web Design Checklist

Aims to be the biggest checklist of inclusive design considerations for the web ever. Includes items for accessibility, performance, device support, interoperability, and language. Pull requests welcome!

Performance

Accessibility

  • Maintain terse, semantic HTML, without over-reliance on <div> scaffolding
  • Use screen reader and keyboard accessible HTML
  • Make sure heading levels describe a logical section/subsection structure
  • Make sure controls do not elicit unexpected or jarring behavior
  • Apply alt="" or aria-hidden="true" to decorative images
  • Provide <title>s that name the site and the specific page
  • Make scrollable elements focusable for keyboard users
  • Use the same design patterns to solve the same problems
  • Ensure keyboard focus order is logical regarding visual layout
  • Do not hijack standard scrolling behavior
  • Move focus between dialogs and the controls that invoked them
  • Give all form elements permanently visible labels
  • Give grouped form elements group labels
  • Place labels above form elements
  • Provide status and error messages as WAI-ARIA live regions
  • Ensure states (pressed, expanded, invalid, etc) are communicated to assistive software
  • Match semantics to behavior for assistive technology users
  • Provide a default language and use lang="[ISO code]" for subsections in different languages
  • Make controls look like controls; give them strong perceived affordance
  • Make sure all content belongs to a landmark element (<header>, <footer>, <nav>, <main>, etc)
  • Mark invalid fields clearly and provide associated error messages
  • Avoid time constraints where possible; provide a clear warning and option to extend where not possible
  • Label and describe the same things with the same terminology
  • Ensure disabled controls are not focusable
  • Do not instate 'infinite scroll' by default; provide buttons to load more items
  • Ensure PDF content is accessible (include tags)
  • Provide a skip link if necessary
  • Warn users of links that have unusual behaviors, like linking off-site, or loading a new tab
  • Instead of obstructing users with CAPTCHAs, use honeypots
  • Break up long and complex forms into discrete sections and/or screens
  • Make forms as short as possible; offer shortcuts like autocompleting the address using the postcode
  • Inform the user when there are important changes to the application state

Accessible Design

  • Make sure text and background colors contrast sufficiently
  • Support Windows high contrast mode (use images, not background images)
  • Honor requests to remove animation via the prefers-reduced-motion media query
  • Include only clear, meaningful animations
  • Use relative units (em, rem, and ch), especially for font metrics
  • Make sure main body (paragraph) text is no smaller than the default (user agent) size
  • Provide large touch 'targets' for interactive elements
  • Use data tables (<table>) for data only, not visual layout purposes
  • Do not rely on color for differentiation of visual elements
  • Provide clear, unambiguous focus styles
  • Employ well-balanced, highly legible fonts (not too complex or elaborate)
  • Do not use very thin font faces
  • Avoid pure white or pure black shades
  • Underline links — at least in body copy
  • Ensure content is not obscured through zooming (no fixed widths)
  • Use textual labels to make voice activation cues obvious
  • Provide a print stylesheet (single column, with interactive content hidden)
  • Subset fonts to just the characters needed
  • Don't make users perform actions to reveal content unless completely necessary
  • If content is meant to be hidden, ensure it is properly hidden to all users
  • Make sure controls within hidden content are not focusable
  • Do not auto focus form fields, on page load
  • Make sure the purpose of a link is clearly described. "read more" vs. "read more about accessibility".

Accessible Content

Content

Mobile

Privacy

Misc

  • Do not recreate supported and expected browser behaviors with bespoke scripts

About

Aims to be the biggest checklist of inclusive design considerations ever

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published