All images, icons, charts have alt text or are marked decorative
□ Informative images have descriptive alt text
□ Decorative images have alt="" or role="presentation"
□ Complex images (charts, diagrams) have detailed descriptions
□ Form images (submit buttons) have alt describing function
□ Icons used as controls have accessible names
□ Pre-recorded videos have captions
□ Pre-recorded audio has transcripts
□ Pre-recorded videos have audio descriptions (or transcript)
□ Live videos have captions (if applicable)
□ Headings use h1-h6 elements properly
□ Lists use ul/ol/li elements
□ Tables use th, scope, caption properly
□ Form fields have associated labels
□ Regions use landmark elements (header, nav, main, footer)
□ Reading order matches visual order
□ Instructions don't rely on shape/location/sound only
□ Content works in portrait and landscape
□ Form inputs have autocomplete where appropriate
□ Links/errors/required fields not indicated by color alone
□ Auto-playing audio has controls or stops in 3 seconds
□ Normal text has 4.5:1 contrast ratio
□ Large text (18px+ bold, 24px+) has 3:1 contrast ratio
□ Text can be resized to 200% without loss
□ No images of text (except logos)
□ Content reflows at 320px width (400% zoom)
□ UI components have 3:1 contrast with background
□ Works with: line-height 1.5, paragraph spacing 2x, letter spacing 0.12em
□ Hover/focus content is dismissable (Escape), hoverable, persistent
□ All interactive elements reachable via Tab
□ All functionality works with keyboard (Enter, Space, arrows)
□ No keyboard traps (focus can always be moved)
□ Single-character shortcuts can be turned off or remapped
□ Time limits can be turned off, extended (10x), or warned (20 sec)
□ Auto-updating content can be paused/stopped
□ Moving/blinking content can be paused (or stops in 5 sec)
□ Skip-to-main-content link provided
□ Page has descriptive <title>
□ Focus order is logical (typically left-to-right, top-to-bottom)
□ Link text describes destination (not "click here")
□ Site has search AND/OR sitemap AND/OR nav
□ Headings and labels describe topic/purpose
□ Focus indicator always visible
□ Focused element not entirely hidden by other content
□ Path-based gestures have single-point alternatives
□ Click/tap activates on release, can be canceled
□ Visible button/link text included in accessible name
□ Motion-triggered features have UI alternatives
□ Drag operations have single-click alternatives
□ Touch targets at least 24x24px (44x44px recommended)
□ Focus doesn't auto-submit or navigate
□ Form input doesn't trigger unexpected changes
□ Navigation is consistent across pages
□ Same functionality has same labels/icons
□ Errors identify the field and describe the problem
□ All inputs have visible labels or instructions
□ Errors suggest how to fix (when possible)
□ Legal/financial submissions can be reviewed/reversed
□ Previously entered info auto-populated when needed again
□ Login doesn't require memorization or cognitive test
□ Custom interactive elements have proper ARIA
□ Status/error messages use role="alert" or aria-live
□ Form validation errors announced to screen readers
□ Loading/success states communicated accessibly