Level A

Level A rules

The 63 level A checks Websight runs. Level A is the baseline: missing alt text, unlabelled fields, no page language, keyboard barriers.

Images

Forms

Links and buttons

Colour

Structure and landmarks

Tables

Keyboard and focus

ARIA

A ARIA attributes must be allowed for the element's role aria-allowed-attr Every ARIA role comes with a short list of attributes it understands. A aria-braillelabel must have a matching text label aria-braille-equivalent aria-braillelabel and aria-brailleroledescription let you give a braille display a shorter or contracted version of a control's name or role. A ARIA attributes must follow the conditions of the element's role aria-conditional-attr A few ARIA attributes are allowed on a role only under conditions. A Deprecated ARIA roles must not be used aria-deprecated-role ARIA retires roles from time to time. A aria-label must not be used on div, span or p without a role aria-prohibited-attr aria-label and aria-labelledby only work on elements that can have a name: controls, landmarks, images, headings, tables and similar. A Required ARIA attributes must be provided for the role aria-required-attr Some ARIA roles only make sense with a state or value attached. A ARIA roles that need particular children must contain them aria-required-children Some roles are containers that only mean something with the right children inside: listbox and option, tablist and tab, menu and menuitem, tree and treeitem, table and row. A ARIA roles that need a particular parent must sit inside it aria-required-parent Some roles only make sense inside a particular parent. not run A aria-roledescription must only be used on elements with a role aria-roledescription aria-roledescription lets you swap the word a screen reader uses for a role: say slide instead of group, or page instead of tab panel. A ARIA roles must be valid aria-roles The role attribute only accepts names from the ARIA list: dialog, button, tab, listbox and so on. A Tabs must have an accessible name aria-tab-name Every element with role="tab" needs a name: the words a screen reader speaks when the tab gets focus and the words a voice control user says to pick it. A Tooltips must have an accessible name aria-tooltip-name An element with role="tooltip" needs a name, which is normally just the text inside it. A ARIA attributes must have valid values aria-valid-attr-value Each ARIA attribute accepts a particular kind of value: true or false, a number, a word from a short list, or the id of another element. A ARIA attributes must have valid names aria-valid-attr Browsers only act on attribute names that exist in the ARIA specification. A ids used by ARIA and labels must be unique duplicate-id-aria aria-labelledby, aria-describedby, aria-controls and the label for attribute all work by id. A Meters must have an accessible name aria-meter-name role="meter" is for a measurement within a known range: password strength, disk space used, battery level. A Progress bars must have an accessible name aria-progressbar-name role="progressbar" tells a screen reader that something is in progress and how far along it is.

Media and motion

Language

Page title, frames and zoom

Scan your page against every level A check

Free in Chrome, with a score and a plain-English fix per element.

Add Websight to Chrome

Free scans, no account, nothing leaves your computer. Automated tools find only part of the problems; the extension says so on every report.