Accessibility
WCAG 2.2 checks from axe-core, run on every page.
- moderate"role=text" should have no focusable descendantsEnsure role="text" is used on elements with no focusable descendants
- moderate<audio> elements must have a captions trackEnsure <audio> elements have captions
- moderate<blink> elements are deprecated and must not be usedEnsure <blink> elements are not used
- moderate<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elementsEnsure <dl> elements are structured correctly
- moderate<dt> and <dd> elements must be contained by a <dl>Ensure <dt> and <dd> elements are contained by a <dl>
- moderate<html> element must have a lang attributeEnsure every HTML document has a lang attribute
- moderate<html> element must have a valid value for the lang attributeEnsure the lang attribute of the <html> element has a valid value
- moderate<li> elements must be contained in a <ul> or <ol>Ensure <li> elements are used semantically
- moderate<marquee> elements are deprecated and must not be usedEnsure <marquee> elements are not used
- moderate<object> elements must have alternative textEnsure <object> elements have alternative text
- moderate<svg> elements with an img role must have alternative textEnsure <svg> elements with an img, graphics-document or graphics-symbol role have accessible text
- moderate<ul> and <ol> must only directly contain <li>, <script> or <template> elementsEnsure that lists are structured correctly
- moderate<video> elements must have captionsEnsure <video> elements have captions
- moderate<video> or <audio> elements must not play automaticallyEnsure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio
- moderate[role="img"] elements must have alternative textEnsure [role="img"] elements have alternative text
- moderateaccesskey attribute value should be uniqueEnsure every accesskey attribute value is unique
- moderateActive <area> elements must have alternative textEnsure <area> elements of image maps have alternative text
- moderateAll page content should be contained by landmarksEnsure all page content is contained by landmarks
- moderateAll touch targets must be 24px large, or leave sufficient spaceEnsure touch targets have sufficient size and space
- moderateAlternative text of images should not be repeated as textEnsure image alternative is not repeated as text
- moderateARIA attributes must be used as specified for the element's roleEnsure ARIA attributes are used as described in the specification of the element's role
- moderateARIA attributes must conform to valid namesEnsure attributes that begin with aria- are valid ARIA attributes
- moderateARIA attributes must conform to valid valuesEnsure all ARIA attributes have valid values
- moderateARIA commands must have an accessible nameEnsure every ARIA button, link and menuitem has an accessible name
- moderateARIA dialog and alertdialog nodes should have an accessible nameEnsure every ARIA dialog and alertdialog node has an accessible name
- moderateARIA hidden element must not be focusable or contain focusable elementsEnsure aria-hidden elements are not focusable nor contain focusable elements
- moderateARIA input fields must have an accessible nameEnsure every ARIA input field has an accessible name
- moderateARIA meter nodes must have an accessible nameEnsure every ARIA meter node has an accessible name
- moderateARIA progressbar nodes must have an accessible nameEnsure every ARIA progressbar node has an accessible name
- moderateARIA role should be appropriate for the elementEnsure role attribute has an appropriate value for the element
- moderateARIA roles used must conform to valid valuesEnsure all elements with a role attribute use a valid value
- moderateARIA toggle fields must have an accessible nameEnsure every ARIA toggle field has an accessible name
- moderateARIA tooltip nodes must have an accessible nameEnsure every ARIA tooltip node has an accessible name
- moderateARIA treeitem nodes should have an accessible nameEnsure every ARIA treeitem node has an accessible name
- moderatearia-braille attributes must have a non-braille equivalentEnsure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent
- moderatearia-hidden="true" must not be present on the document bodyEnsure aria-hidden="true" is not present on the document body.
- moderatearia-roledescription must be on elements with a semantic roleEnsure aria-roledescription is only used on elements with an implicit or explicit role
- moderateAside should not be contained in another landmarkEnsure the complementary landmark or aside is at top level
- moderateautocomplete attribute must be used correctlyEnsure the autocomplete attribute is correct and suitable for the form field
- moderateBanner landmark should not be contained in another landmarkEnsure the banner landmark is at top level
- moderateButtons must have discernible textEnsure buttons have discernible text
- moderateCertain ARIA roles must be contained by particular parentsEnsure elements with an ARIA role that require parent roles are contained by them
- moderateCertain ARIA roles must contain particular childrenEnsure elements with an ARIA role that require child roles contain them
- moderateContentinfo landmark should not be contained in another landmarkEnsure the contentinfo landmark is at top level
- moderateCSS Media queries must not lock display orientationEnsure content is not locked to any specific display orientation, and the content is operable in all display orientations
- moderateData or header cells must not be used to give caption to a data table.Ensure that tables with a caption use the <caption> element.
- moderateDelayed refresh must not be usedEnsure <meta http-equiv="refresh"> is not used for delayed refresh
- moderateDelayed refresh under 20 hours must not be usedEnsure <meta http-equiv="refresh"> is not used for delayed refresh
- moderateDeprecated ARIA roles must not be usedEnsure elements do not use deprecated roles
- moderateDocument should have one main landmarkEnsure the document has a main landmark
- moderateDocument should not have more than one banner landmarkEnsure the document has at most one banner landmark
- moderateDocument should not have more than one contentinfo landmarkEnsure the document has at most one contentinfo landmark
- moderateDocument should not have more than one main landmarkEnsure the document has at most one main landmark
- moderateDocuments must have <title> element to aid in navigationEnsure each HTML document contains a non-empty <title> element
- moderateElements in the focus order should have an appropriate roleEnsure elements in the focus order have a role appropriate for interactive content
- moderateElements marked as presentational should be consistently ignoredEnsure elements marked as presentational do not have global ARIA or tabindex so that all screen readers ignore them
- moderateElements must have their visible text as part of their accessible nameEnsure that elements labelled through their content must have their visible text as part of their accessible name
- moderateElements must meet enhanced color contrast ratio thresholdsEnsure the contrast between foreground and background colors meets WCAG 2 AAA enhanced contrast ratio thresholds
- moderateElements must meet minimum color contrast ratio thresholdsEnsure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds
- moderateElements must only use permitted ARIA attributesEnsure ARIA attributes are not prohibited for an element's role
- moderateElements must only use supported ARIA attributesEnsure an element's role supports its ARIA attributes
- moderateElements should not have tabindex greater than zeroEnsure tabindex attribute values are not greater than 0
- moderateForm elements must have labelsEnsure every form element has a label
- moderateForm elements should have a visible labelEnsure that every form element has a visible label and is not solely labeled using hidden labels, or the title or aria-describedby attributes
- moderateForm field must not have multiple label elementsEnsure form field does not have multiple label elements
- moderateFrames must have a unique title attributeEnsure <iframe> and <frame> elements contain a unique title attribute
- moderateFrames must have an accessible nameEnsure <iframe> and <frame> elements have an accessible name
- moderateFrames should be tested with axe-coreEnsure <iframe> and <frame> elements contain the axe-core script
- moderateFrames with focusable content must not have tabindex=-1Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1
- moderateHeading levels should only increase by oneEnsure the order of headings is semantically correct
- moderateHeadings should not be emptyEnsure headings have discernible text
- moderateHidden content on the page should be analyzedInform users about hidden content.
- moderateHTML elements with lang and xml:lang must have the same base languageEnsure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page
- moderateid attribute value must be uniqueEnsure every id attribute value is unique
- moderateIDs of active elements must be uniqueEnsure every id attribute value of active elements is unique
- moderateIDs used in ARIA and labels must be uniqueEnsure every id attribute value used in ARIA and in labels is unique
- moderateImage buttons must have alternative textEnsure <input type="image"> elements have alternative text
- moderateImages must have alternative textEnsure <img> elements have alternative text or a role of none or presentation
- moderateInline text spacing must be adjustable with custom stylesheetsEnsure that text spacing set through style attributes can be adjusted with custom stylesheets
- moderateInput buttons must have discernible textEnsure input buttons have discernible text
- moderateInteractive controls must not be nestedEnsure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies
- moderateLandmarks should have a unique role or role/label/title (i.e. accessible name) combinationEnsure landmarks are unique
- moderatelang attribute must have a valid valueEnsure lang attributes have valid values
- moderateLinks must be distinguishable without relying on colorEnsure links are distinguished from surrounding text in a way that does not rely on color
- moderateLinks must have discernible textEnsure links have discernible text
- moderateLinks with the same name must have a similar purposeEnsure that links with the same accessible name serve a similar purpose
- moderateMain landmark should not be contained in another landmarkEnsure the main landmark is at top level
- moderateNon-empty <td> elements in larger <table> must have an associated table headerEnsure that each non-empty data cell in a <table> larger than 3 by 3 has one or more table headers
- moderatePage must have means to bypass repeated blocksEnsure each page has at least one mechanism for a user to bypass navigation and jump straight to the content
- moderatePage should contain a level-one headingEnsure that the page, or at least one of its frames contains a level-one heading
- moderateRequired ARIA attributes must be providedEnsure elements with ARIA roles have all required ARIA attributes
- moderatescope attribute should be used correctlyEnsure the scope attribute is used correctly on tables
- moderateScrollable region must have keyboard accessEnsure elements that have scrollable content are accessible by keyboard
- moderateSelect element must have an accessible nameEnsure select element has an accessible name
- moderateServer-side image maps must not be usedEnsure that server-side image maps are not used
- moderateStyled <p> elements must not be used as headingsEnsure bold, italic text and font-size is not used to style <p> elements as a heading
- moderateSummary elements must have discernible textEnsure summary elements have discernible text
- moderateTable cell headers attributes must refer to other <th> elements in the same tableEnsure that each cell in a table that uses the headers attribute refers only to other <th> elements in that table
- moderateTable header text should not be emptyEnsure table headers have discernible text
- moderateTable headers in a data table must refer to data cellsEnsure that <th> elements and elements with role=columnheader/rowheader have data cells they describe
- moderateTables should not have the same summary and captionEnsure the <caption> element does not contain the same text as the summary attribute
- moderateThe skip-link target should exist and be focusableEnsure all skip links have a focusable target
- moderateUsers should be able to zoom and scale the text up to 500%Ensure <meta name="viewport"> can scale a significant amount
- moderateZooming and scaling must not be disabledEnsure <meta name="viewport"> does not disable text scaling and zooming