WCAG Guides

Actionable accessibility guides organized by disability area and WCAG conformance level. Use the filters to find the guidance you need.

91 guides

Topic Open guide
1Role="text" must not contain focusable elements
BlindMobility
WCAG 2.2 Level A
2User-scalable=no must not disable zoom
BlindMobility
WCAG 2.2 Level A
3Meta refresh must not auto-refresh under 20 hours in HTML
Cognitive
WCAG 2.2 Level A
4Remove blinking and flashing content
BlindCognitive
WCAG 2.2 Level A
5ARIA attributes must use valid names and values for WCAG
Blind
WCAG 2.2 Level A
6ARIA tooltip needs an accessible name
Blind
WCAG 2.2 Level A
7Valid ARIA role values are required
Blind
WCAG 2.2 Level A
8ARIA roles require correct parent roles for accessibility
Blind
WCAG 2.2 Level A
9ARIA required owned elements require child roles to work
Blind
WCAG 2.2 Level A
10ARIA widget roles required attributes
Blind
WCAG 2.2 Level A
11Prohibited ARIA attributes must not be used for roles in UI
Blind
WCAG 2.2 Level A
12ARIA progressbar needs accessible name
Blind
WCAG 2.2 Level A
13ARIA meter needs accessible names
Blind
WCAG 2.2 Level A
14ARIA inputs need accessible names
Blind
WCAG 2.2 Level A
15Aria-hidden elements must not contain focusable content
BlindMobility
WCAG 2.2 Level A
16Avoid aria-hidden on the document body element entirely
Blind
WCAG 2.2 Level A
17Deprecated ARIA roles must not be used
Blind
WCAG 2.2 Level A
18ARIA attributes must match role specs
Blind
WCAG 2.2 Level A
19ARIA links, buttons, and menu items need accessible name
Blind
WCAG 2.2 Level A
20ARIA attributes must match role rules
Blind
WCAG 2.2 Level A
21Buttons must have discernible text
Blind
WCAG 2.2 Level AA
22Complementary landmark at top level
Blind
WCAG 2.2 Level A
23Tabindex over 0 breaks logical focus
Mobility
WCAG 2.2 Level A
24ARIA toggle fields must have names
Blind
WCAG 2.2 Level A
25Autocomplete must match input purpose
Cognitive
WCAG 2.2 Level AA
26Heading order must be hierarchical
Blind
WCAG 2.2 Level A
27Banner landmark must be top-level
Blind
WCAG 2.2 Level A
28Autoplay audio longer than 3s needs accessible controls
Hearing
WCAG 2.2 Level A
29ARIA attribute values must be valid
Blind
WCAG 2.2 Level A
30Table headers must link to data cells
Blind
WCAG 2.2 Level A
31Unique ID values for ARIA and labels
BlindCognitive
WCAG 2.2 Level A
32Main landmark must be unique per page
BlindCognitive
WCAG 2.2 Level A
33Aria-braillelabel and brailleroledescription must be paired
Blind
WCAG 2.2 Level A
34Touch target size and spacing rules
MobilityCognitive
WCAG 2.2 Level AA
35Links with same accessible name must match purpose sitewide
BlindCognitive
WCAG 2.2 Level A
36Server-side image maps are not allowed
Blind
WCAG 2.2 Level A
37Alt text must not duplicate link text
Blind
WCAG 2.2 Level A
38Images need alt text or be decorative
Blind
WCAG 2.2 Level A
39Avoid multiple labels on form fields
Blind
WCAG 2.2 Level A
40Lists must contain only li elements
Blind
WCAG 2.2 Level A
41Correct scope attribute on tables
Blind
WCAG 2.2 Level A
42Nested interactive controls must not include focusable items
Mobility
WCAG 2.2 Level A
43Contentinfo landmark must be top-level
Blind
WCAG 2.2 Level A
44Valid lang attribute language codes
Blind
WCAG 2.2 Level A
45HTML lang and xml:lang must match
Blind
WCAG 2.2 Level A
46Iframe titles must be unique and clear
BlindCognitive
WCAG 2.2 Level A
47Text color contrast must meet WCAG AA
Blind
WCAG 2.2 Level AA
48Table headers must have visible text
Blind
WCAG 2.2 Level A
49Iframes focusable content must not use tabindex=-1 (WCAG)
BlindMobility
WCAG 2.2 Level A
50Input buttons require discernible text
Blind
WCAG 2.2 Level AA
51Lang attribute must have a valid value
Blind
WCAG 2.2 Level A
52HTML lang attribute needed on pages
Blind
WCAG 2.2 Level A
53Landmarks: contain all page content
Blind
WCAG 2.2 Level A
54Table caption and summary cannot match
BlindHearing
WCAG 2.2 Level A
55Unique landmark role/name combinations
BlindCognitive
WCAG 2.2 Level A
56Single banner landmark per page only
Blind
WCAG 2.2 Level A
57H1 heading must lead main content
Blind
WCAG 2.2 Level A
58ARIA dialog accessible name required
Blind
WCAG 2.2 Level A
59ARIA role values must be valid and never abstract roles
Blind
WCAG 2.2 Level A
60Definition lists must contain ordered dt then dd elements
Blind
WCAG 2.2 Level A
61Main landmark must be top-level only
Blind
WCAG 2.2 Level A
62Distinguish links from surrounding text, not color alone
BlindCognitive
WCAG 2.2 Level A
63Select elements need accessible labels
Blind
WCAG 2.2 Level A
64Skip links need a focusable target
BlindMobility
WCAG 2.2 Level A
65One contentinfo landmark per page
Blind
WCAG 2.2 Level A
66Make text spacing adjustable with CSS
BlindCognitive
WCAG 2.2 Level AA
67Data table headers must stay within their table scope only
Blind
WCAG 2.2 Level A
68Keyboard access for scrollable content
Mobility
WCAG 2.2 Level A
69Image map areas must have alternate text for links and the image
Blind
WCAG 2.2 Level A
70Unique iframe titles: fix and test
BlindCognitive
WCAG 2.2 Level A
71Touch target size/spacing: 24px min
MobilityCognitive
WCAG 2.2 Level AA
72SVG img role needs a text alternative
Blind
WCAG 2.2 Level A
73ARIA treeitem requires accessible name
Blind
WCAG 2.2 Level A
74Presentational elements must not be focusable or have ARIA
BlindMobility
WCAG 2.2 Level A
75Unique accesskey values on every page
MobilityCognitive
WCAG 2.2 Level A
76Text color contrast must meet WCAG ratios
Blind
WCAG 2.2 Level AA
77Role img elements must have alt text
Blind
WCAG 2.2 Level A
78Dt and dd must be inside a dl element
Blind
WCAG 2.2 Level A
79Image input buttons need alt text
Blind
WCAG 2.2 Level A
80List items must be inside ul or ol
Blind
WCAG 2.2 Level A
81Marquee elements must not be used
Cognitive
WCAG 2.2 Level A
82Do not use the meta refresh tag
Cognitive
WCAG 2.2 Level A
83Viewport must allow zoom (user-scalable)
BlindMobility
WCAG 2.2 Level A
84Object elements need text alternatives
Blind
WCAG 2.2 Level A
85Captions track required for videos
BlindHearing
WCAG 2.2 Level A
86Page title must be non-empty, unique
BlindCognitive
WCAG 2.2 Level A
87Main landmark to skip repeated blocks
BlindMobilityCognitive
WCAG 2.2 Level A
88Headings must include discernible text
Blind
WCAG 2.2 Level AA
89Links need discernible text and focus
BlindMobility
WCAG 2.2 Level AA
90Form elements require programmatic labels for WCAG 2.2
Blind
WCAG 2.2 Level A
91Form input labels must be visible; avoid title/aria only
Blind
WCAG 2.2 Level A

#1

Role="text" must not contain focusable elements

BlindMobilityWCAG 2.2 Level A

#2

User-scalable=no must not disable zoom

BlindMobilityWCAG 2.2 Level A

#3

Meta refresh must not auto-refresh under 20 hours in HTML

CognitiveWCAG 2.2 Level A

#4

Remove blinking and flashing content

BlindCognitiveWCAG 2.2 Level A

#5

ARIA attributes must use valid names and values for WCAG

BlindWCAG 2.2 Level A

#6

ARIA tooltip needs an accessible name

BlindWCAG 2.2 Level A

#7

Valid ARIA role values are required

BlindWCAG 2.2 Level A

#8

ARIA roles require correct parent roles for accessibility

BlindWCAG 2.2 Level A

#9

ARIA required owned elements require child roles to work

BlindWCAG 2.2 Level A

#10

ARIA widget roles required attributes

BlindWCAG 2.2 Level A

#11

Prohibited ARIA attributes must not be used for roles in UI

BlindWCAG 2.2 Level A

#12

ARIA progressbar needs accessible name

BlindWCAG 2.2 Level A

#13

ARIA meter needs accessible names

BlindWCAG 2.2 Level A

#14

ARIA inputs need accessible names

BlindWCAG 2.2 Level A

#15

Aria-hidden elements must not contain focusable content

BlindMobilityWCAG 2.2 Level A

#16

Avoid aria-hidden on the document body element entirely

BlindWCAG 2.2 Level A

#17

Deprecated ARIA roles must not be used

BlindWCAG 2.2 Level A

#18

ARIA attributes must match role specs

BlindWCAG 2.2 Level A

#19

ARIA links, buttons, and menu items need accessible name

BlindWCAG 2.2 Level A

#20

ARIA attributes must match role rules

BlindWCAG 2.2 Level A

#21

Buttons must have discernible text

BlindWCAG 2.2 Level AA

#22

Complementary landmark at top level

BlindWCAG 2.2 Level A

#23

Tabindex over 0 breaks logical focus

MobilityWCAG 2.2 Level A

#24

ARIA toggle fields must have names

BlindWCAG 2.2 Level A

#25

Autocomplete must match input purpose

CognitiveWCAG 2.2 Level AA

#26

Heading order must be hierarchical

BlindWCAG 2.2 Level A

#27

Banner landmark must be top-level

BlindWCAG 2.2 Level A

#28

Autoplay audio longer than 3s needs accessible controls

HearingWCAG 2.2 Level A

#29

ARIA attribute values must be valid

BlindWCAG 2.2 Level A

#30

Table headers must link to data cells

BlindWCAG 2.2 Level A

#31

Unique ID values for ARIA and labels

BlindCognitiveWCAG 2.2 Level A

#32

Main landmark must be unique per page

BlindCognitiveWCAG 2.2 Level A

#33

Aria-braillelabel and brailleroledescription must be paired

BlindWCAG 2.2 Level A

#34

Touch target size and spacing rules

MobilityCognitiveWCAG 2.2 Level AA

#35

Links with same accessible name must match purpose sitewide

BlindCognitiveWCAG 2.2 Level A

#36

Server-side image maps are not allowed

BlindWCAG 2.2 Level A

#37

Alt text must not duplicate link text

BlindWCAG 2.2 Level A

#38

Images need alt text or be decorative

BlindWCAG 2.2 Level A

#39

Avoid multiple labels on form fields

BlindWCAG 2.2 Level A

#40

Lists must contain only li elements

BlindWCAG 2.2 Level A

#41

Correct scope attribute on tables

BlindWCAG 2.2 Level A

#42

Nested interactive controls must not include focusable items

MobilityWCAG 2.2 Level A

#43

Contentinfo landmark must be top-level

BlindWCAG 2.2 Level A

#44

Valid lang attribute language codes

BlindWCAG 2.2 Level A

#45

HTML lang and xml:lang must match

BlindWCAG 2.2 Level A

#46

Iframe titles must be unique and clear

BlindCognitiveWCAG 2.2 Level A

#47

Text color contrast must meet WCAG AA

BlindWCAG 2.2 Level AA

#48

Table headers must have visible text

BlindWCAG 2.2 Level A

#49

Iframes focusable content must not use tabindex=-1 (WCAG)

BlindMobilityWCAG 2.2 Level A

#50

Input buttons require discernible text

BlindWCAG 2.2 Level AA

#51

Lang attribute must have a valid value

BlindWCAG 2.2 Level A

#52

HTML lang attribute needed on pages

BlindWCAG 2.2 Level A

#53

Landmarks: contain all page content

BlindWCAG 2.2 Level A

#54

Table caption and summary cannot match

BlindHearingWCAG 2.2 Level A

#55

Unique landmark role/name combinations

BlindCognitiveWCAG 2.2 Level A

#56

Single banner landmark per page only

BlindWCAG 2.2 Level A

#57

H1 heading must lead main content

BlindWCAG 2.2 Level A

#58

ARIA dialog accessible name required

BlindWCAG 2.2 Level A

#59

ARIA role values must be valid and never abstract roles

BlindWCAG 2.2 Level A

#60

Definition lists must contain ordered dt then dd elements

BlindWCAG 2.2 Level A

#61

Main landmark must be top-level only

BlindWCAG 2.2 Level A

#62

Distinguish links from surrounding text, not color alone

BlindCognitiveWCAG 2.2 Level A

#63

Select elements need accessible labels

BlindWCAG 2.2 Level A

#64

Skip links need a focusable target

BlindMobilityWCAG 2.2 Level A

#65

One contentinfo landmark per page

BlindWCAG 2.2 Level A

#66

Make text spacing adjustable with CSS

BlindCognitiveWCAG 2.2 Level AA

#67

Data table headers must stay within their table scope only

BlindWCAG 2.2 Level A

#68

Keyboard access for scrollable content

MobilityWCAG 2.2 Level A

#69

Image map areas must have alternate text for links and the image

BlindWCAG 2.2 Level A

#70

Unique iframe titles: fix and test

BlindCognitiveWCAG 2.2 Level A

#71

Touch target size/spacing: 24px min

MobilityCognitiveWCAG 2.2 Level AA

#72

SVG img role needs a text alternative

BlindWCAG 2.2 Level A

#73

ARIA treeitem requires accessible name

BlindWCAG 2.2 Level A

#74

Presentational elements must not be focusable or have ARIA

BlindMobilityWCAG 2.2 Level A

#75

Unique accesskey values on every page

MobilityCognitiveWCAG 2.2 Level A

#76

Text color contrast must meet WCAG ratios

BlindWCAG 2.2 Level AA

#77

Role img elements must have alt text

BlindWCAG 2.2 Level A

#78

Dt and dd must be inside a dl element

BlindWCAG 2.2 Level A

#79

Image input buttons need alt text

BlindWCAG 2.2 Level A

#80

List items must be inside ul or ol

BlindWCAG 2.2 Level A

#81

Marquee elements must not be used

CognitiveWCAG 2.2 Level A

#82

Do not use the meta refresh tag

CognitiveWCAG 2.2 Level A

#83

Viewport must allow zoom (user-scalable)

BlindMobilityWCAG 2.2 Level A

#84

Object elements need text alternatives

BlindWCAG 2.2 Level A

#85

Captions track required for videos

BlindHearingWCAG 2.2 Level A

#86

Page title must be non-empty, unique

BlindCognitiveWCAG 2.2 Level A

#87

Main landmark to skip repeated blocks

BlindMobilityCognitiveWCAG 2.2 Level A

#88

Headings must include discernible text

BlindWCAG 2.2 Level AA

#89

Links need discernible text and focus

BlindMobilityWCAG 2.2 Level AA

#90

Form elements require programmatic labels for WCAG 2.2

BlindWCAG 2.2 Level A

#91

Form input labels must be visible; avoid title/aria only

BlindWCAG 2.2 Level A