Consent Docs

Accessibility

What is tested for accessibility in the banner, the hosted pages and the Overview charts, keyboard and screen-reader support, and the known limits.

Reference8 min readFor anyone looking something up

The target is WCAG 2.2 level AA for everything a visitor sees: the banner, the preference centre, the hosted privacy notice and the hosted request form. The console's Overview charts aim for the same. The tables list what is tested, what is supported and what is not.

Automated tests#

The tests run in the end-to-end suite, in desktop Chromium, against a live API and a test site. The rule sets are axe-core wcag2a, wcag2aa, wcag21a, wcag21aa and wcag22aa.

What Check Result required
Banner, first layer, for a visitor in Germany The axe-core rule sets No violations
Preference centre dialog The axe-core rule sets No violations
Banner for a visitor in India, with itemised purposes, rights link, complaint link and contact The axe-core rule sets No violations
Hosted privacy notice The axe-core rule sets, whole page No violations
Hosted request form The axe-core rule sets, whole page No violations
Keyboard use of the banner Tab reaches the banner first; Enter opens the preference centre; Escape closes it without making a choice Pass

The banner scans are taken with reduced motion on, so contrast is measured on the settled banner. Hosted pages have no animation.

Unit tests check the structure the scans rely on:

Part Structure checked
Banner A region with aria-labelledby and aria-describedby
Banner that blocks the page A dialog with aria-modal. This case has no test
Preference centre A dialog with aria-modal
Purpose and partner switches role="switch" with aria-checked and a label. A purpose with some partners on and some off reports aria-checked="mixed"
Focus It stays inside an open dialog: Tab on the last control moves to the first
Escape It closes the dialog and is not recorded as a decision
Announcements A status region with aria-live="polite" exists

Keyboard support#

Key or control What happens
Tab from the top of the page Reaches the banner first, because the banner is placed first in the page
Tab on the last control of an open dialog Moves to the first control. Focus stays inside the dialog
Enter on Manage preferences Opens the preference centre
Escape Closes the preference centre without saving. The banner is still waiting for an answer
Closing a dialog Returns focus to the control that opened it
  • Every control is a native button, link, drop-down list or disclosure element.
  • On the banner, focus shows as a 3-pixel outline in a colour adjusted to contrast with the background.
  • On hosted pages, focus shows as a 3-pixel outline in your accent colour as you set it.
  • A blocked video or frame is replaced by a placeholder. It says why the content is blocked and has a button to allow it.

Screen-reader support#

  • Dialogs and the banner have a name and a description taken from the title and body text.
  • Switches carry their state in aria-checked: true, false or mixed. A purpose that is partly on also shows the words "Partly on".
  • After a choice is saved, a polite live region announces "Your choices have been saved."
  • Where a DPDP region rule applies, the language chooser is labelled and each language is named in its own script.
  • Each hosted page and each banner sets its language, so a screen reader can pick the right voice.

On the banner the language set is the language of your wording. Built-in labels follow the visitor's language, so the two can differ when your form has no wording in that language.

Colour, motion and contrast modes#

Area Behaviour
Accept and reject They use the same button style on the first layer. If your custom CSS or template makes them differ, or hides either one, the runtime shows the built-in layout instead
Show a reject-all button This form setting can still remove the reject button from the first layer
Button text on the banner White or dark, whichever contrasts more with your accent colour, unless you set a text-on-accent colour that reaches 4.5:1
Accent colour on the banner Where it is used for text, links or the focus outline and does not reach 4.5:1 on the background, a darker or lighter shade is used
A colour you set that falls below 4.5:1 The brand editor in the console shows the ratio and says that a readable colour is used instead
Motion The banner and the dialog fade in only when the visitor has not asked for reduced motion. The knob of a switch always slides, in 0.15 seconds
Windows High Contrast (forced colours) Switches keep a visible border and state
Your site's styles The banner renders inside a shadow root, so they cannot lower its contrast or hide its focus outline. A banner placed inline in an element of your page is the exception
Fonts The built-in styles load no web fonts

Languages and right-to-left#

Topic Coverage
Built-in labels English, the 22 languages of the Eighth Schedule to the Constitution of India, and other widely used languages. The hosted pages use the same set
Right-to-left on the banner Arabic, Hebrew, Persian, Urdu, Kashmiri, Sindhi, Pashto and Yiddish
Right-to-left on hosted pages Arabic, Hebrew, Urdu, Kashmiri and Sindhi
Language chooser Shown on the banner and preference centre where a DPDP region rule applies and the form has more than one language. It lists every language the form is published in. The visitor's choice is remembered, unless your page fixes the language
Your own wording Translated per language in the console. A language other than the form's default reaches visitors only after a person approves it

Translate and approve covers the approval step.

Overview charts in the console#

The console's Overview is built to the same target. Every chart can be read, moved and resized without a mouse.

Need How the Overview meets it
Figures without the picture View as table, from the table button or the chart's menu, shows every figure in a table with a caption. Its row links open the matching records, so every click on a chart also works from the keyboard, with a large target
Keyboard Tab reaches each chart. The arrow keys move between its points or bars and read each one. Enter opens the records behind the one in focus
Screen readers Each chart has a summary sentence: its total, its highest and its lowest figure. Moves, resizes, additions and removals are announced, such as "Outcomes moved to position 3 of 12."
Moving and resizing Every drag has a menu command: Move earlier, Move later, Move to the start, Move to the end, Width and Height. On a grip, Enter or Space picks a chart up, the arrow keys move it, Enter drops it and Escape puts it back. On a corner, the arrow keys resize
Colour Granted, Partial, Denied, Withdrawn, Expired and Pending keep their own colours. Unit tests check that each of the three palettes stays apart for colour-blind eyes and reaches 3:1 on white. In Windows High Contrast and in print, Partial is dotted and Withdrawn is hatched
Small samples A rate out of fewer than 30 is drawn as an outline and says so in words, not by colour alone
Movement on the page Turning off Refresh automatically stops the charts from updating about once a minute. The choice is kept in this browser
Narrow windows and zoom Under 1,000 pixels the grid has 6 columns, and under 640 pixels one. On a phone the Overview is view only

Known limits#

Limit Detail
No manual screen-reader testing has been recorded NVDA, JAWS, VoiceOver and TalkBack have not been run against the banner or hosted pages. Automated rules find only part of what WCAG asks
Scans run in desktop Chromium only The mobile test profile covers the choice flow, not the accessibility scans. Firefox and Safari are not in the suite
Not every screen is scanned These have no scan of their own: the IAB TCF layer, the Do Not Sell dialog, the banner when it blocks the page and the blocked-content placeholder. Nor do the cookie declaration, the consent portal, and the unsubscribe and confirmation pages
Hosted pages use your accent colour as it is Buttons are white text on the accent, and links and the focus outline are in the accent. Nothing adjusts it for contrast, so check a pale accent yourself
The focus trap does not list the language chooser Where the chooser is shown, Shift+Tab from it may leave the dialog. Tab forwards is covered by a test; Shift+Tab is not
A partly-on purpose reports aria-checked="mixed" That value is not defined for a switch, so a screen reader may read the purpose as off
The placeholder for blocked content has no focus style of its own Its button shows the browser's default outline
Only the console's Overview has been scanned On 3 October 2026 the Overview was scanned with the rule sets above, in desktop Chromium at 1366 × 768: in view mode, with a chart as a table, in edit mode, and with the chart drawer and the builder open. No violations were found. These scans were run by hand, not in the end-to-end suite. The rest of the console has not been scanned
Indian-language labels have not been reviewed by native speakers Santali, Bodo, Manipuri, Kashmiri and Dogri need review first
Your wording is not checked Titles, body text and button labels are yours. The product does not check plain language or reading level
Custom CSS and templates are your responsibility They are checked for unsafe rules and for equal, visible accept and reject buttons, and for nothing else

↑↓ to move, Enter to open