barrierops.com/tools/checklist-2028 · version 1.3
Government Website Accessibility Checklist 2028
44 items. Every one says how to check it and what a pass looks like.
No email address, no form, no “we will send it to you”. The file is a link.
Version 1.3 · 8 September 2026 · WCAG 2.1 AA
Two formats, one source
This page is the checklist. The PDF is a copy of it.
- This page
- The canonical version. Every item, every criterion, linkable at the item — #b4 is a permanent anchor.
- The PDF
- Tagged, with a document outline, a real title and the language set. US Letter. Passes veraPDF against the PDF/UA-1 profile, checked on every build.
- Validation
- Passes veraPDF against the PDF/UA-1 profile. The validation runs in CI on every build and the build fails on any failure.
- What it is not
- Not a fillable form, not a spreadsheet, not a Word file. A fillable PDF form that is not accessible is worse than a page.
An accessibility vendor publishing an untagged PDF signs its own conviction.
The file on this page is validated on every build, against the same profile and the same validator this product runs against your documents.
How to use it
Work down it once for the whole site, not once per page. Most of these items are template problems: an issue in a shared navigation appears on 1,238 pages and is fixed once.
Assign a column, not a person — content editors, developers, whoever runs the agenda portal. Item ownership is the part that stalls.
Do not score it. There is no total at the bottom of this checklist and there never will be. A percentage invites a report to a council that says 82%, which means nothing.
Where an item says an automated tool can see it, use one and move on. Where it says a tool cannot, a person has to look, and that is most of them.
The boxes are for a pen or a printer. Nothing on this page stores anything about you.
A — Before you check anything
4 items
A1Name the person responsible
- Why
- 28 CFR 35.107 requires a public entity with 50 or more employees to designate a responsible employee and to publish grievance procedures. Most have neither, and the first letter an entity receives asks for both by name.
- How
- Ask your clerk for the adopted resolution or the personnel file that names the ADA coordinator. Then search your own website for the name and see whether a resident could have found it.
- Pass
- A named person, an email address and a published grievance procedure, all three reachable from your website without knowing who to ask.
- WCAG
- —
- Automated?
- No
A2Find out which deadline applies to you
- Why
- The federal date depends on your entity type and your population, and a state rule may already apply to you today. Working to the wrong date is how a two-year programme becomes a three-month one.
- How
- Take your entity type and your population from your own most recent census figure. Public entities of 50,000 or more have 26 April 2027. Interim final rule; a legal challenge is pending. Under 50,000, and special districts of any size, have 26 April 2028. Interim final rule; a legal challenge is pending. Then check whether your state has its own statute — Colorado’s has been in force since 1 July 2025.
- Pass
- A date written down, with the rule number beside it, and a note of any state statute that applies sooner. The note repeats the rule status, because a date quoted without it is a date somebody will plan against as though it were settled.
- WCAG
- —
- Automated?
- No
A3Write down what counts as your website
- Why
- The obligation covers the web content and mobile apps a public entity provides, which includes the systems a vendor runs on your behalf. The agenda portal on a vendor’s hostname is in scope and is almost never in the list.
- How
- List every address a resident reaches from your homepage, including the ones that leave your domain. Read your own footer, your payment links and the links inside your council agendas.
- Pass
- One list, naming every hostname, who runs it, and which department owns the relationship. Section D is the same list read a second way.
- WCAG
- —
- Automated?
- No
A4Count your documents
- Why
- The number is always larger than the guess, and documents are the largest part of the work. A city of 78,877 people had 1,180 of them.
- How
- Search your site for each extension in turn — `filetype:pdf site:yourdomain.gov` in a search engine gets you an order of magnitude in a minute. Then ask whoever runs the agenda portal for their own count, because those files are rarely indexed.
- Pass
- A number you are willing to say out loud in a budget meeting, and the date you counted it on.
- WCAG
- —
- Automated?
- No
B — The twelve checks a person can do in an afternoon
12 items
Ordered by how often they fail on a US government site, which is not the order WCAG puts them in.
B1Unplug the mouse and use the site
- Why
- Someone using a keyboard, a switch or voice control reaches every control the same way: in order, one at a time. If a control cannot be reached that way, it does not exist for them.
- How
- Put the mouse out of reach. Press Tab from the top of the page to the bottom of the footer, then Shift and Tab back up. Open every menu, complete the search box, and try to leave every component you entered.
- Pass
- Every link, button, field and menu can be reached and operated, in an order that matches what you see, and nothing holds focus once you try to leave it.
- WCAG
- 2.1.1 Keyboard (A)
- Automated?
- Partly
B2Watch where the focus ring goes, and whether you can see it
- Why
- A keyboard user who cannot see where they are has to guess what pressing Enter will do. The most common cause is a stylesheet that removed the browser’s own outline and put nothing back.
- How
- Repeat B1 and watch only the ring. Note every stop where it disappears, where it sits behind a sticky header, or where it is a faint dotted line on a coloured button.
- Pass
- At every stop there is an indicator you can see from normal reading distance, it is never clipped by another element, and it never vanishes.
- WCAG
- 2.4.7 Focus Visible (AA)
- Automated?
- Partly
B3Zoom to 400% in a 320 px wide window
- Why
- Someone who magnifies the page four times is reading it in a column about as wide as a phone. If the page still asks them to scroll sideways for every line, reading it is work nobody sustains.
- How
- Make the browser window 1,280 px wide, set the zoom to 400%, and read the page. That is the 320 px viewport the criterion names. Then read a long sentence and a wide table.
- Pass
- No horizontal scrollbar on the page itself. A data table may scroll inside its own region. If you have to scroll sideways to read a sentence, it fails.
- WCAG
- 1.4.10 Reflow (AA)
- Automated?
- No
B4Check every image says something useful or says nothing at all
- Why
- A decorative image with alternative text is as wrong as a meaningful one without it — the first makes a screen reader read out `banner_final_v2.jpg`, the second removes the information entirely.
- How
- Turn images off in the browser, or read the page with a screen reader, and go down the page asking one question per image: if this were a sentence, what would it say? An engine will tell you which images have no alternative text at all; it cannot tell you that a description is wrong.
- Pass
- Every image either says something useful or says nothing at all, and no description begins with “image of” or repeats the text beside it.
- WCAG
- 1.1.1 Non-text Content (A)
- Automated?
- Partly
B5Check the text against its background
- Why
- Low-contrast text is the most common failure on a government website and the cheapest to fix, because it is almost always three or four values in one stylesheet.
- How
- Use your browser’s own inspector — it reports the contrast ratio on any text node — or any free contrast checker with the two hex values. Check the body text, the muted “helper” text, the link colour, and the text sitting on your header image.
- Pass
- Every piece of body text reaches 4.5:1 against what is behind it. Text at 24 px, or 18.66 px bold and above, reaches 3:1.
- WCAG
- 1.4.3 Contrast (Minimum) (AA)
- Automated?
- Yes
B6Check buttons, borders and icons against their background
- Why
- The same rule applies to the things that are not text, at a lower threshold, and it is the one people forget: a field whose border is a pale grey line is a field somebody cannot find.
- How
- Check the outline of every input, the edge of every button, the focus ring, and any icon that carries meaning on its own. Judge which graphics are meaningful — a tool cannot decide that for you.
- Pass
- Every control boundary and every meaningful graphic reaches 3:1 against what sits behind it, in every state including focus and hover.
- WCAG
- 1.4.11 Non-text Contrast (AA)
- Automated?
- Partly
B7Read the headings on their own and see if they are an outline
- Why
- A screen reader user moves through a page by its headings, the way a sighted reader moves by skimming. A page whose headings were chosen for their font size is a page with no outline at all.
- How
- Read only the headings, top to bottom. Check there is exactly one first-level heading, that no level is skipped, and that nothing is a heading because it needed to be bigger.
- Pass
- The headings alone read as a table of contents for the page, in order, with no level skipped and nothing missing.
- WCAG
- 1.3.1 Info and Relationships (A)
- Automated?
- Partly
B8Click every form label and see if the field takes focus
- Why
- A label that is only text beside a box is not a label. Clicking it is the two-second test for whether the two are connected, and the connection is what a screen reader announces and what voice control targets.
- How
- Click the words, not the box, on every field of every form you have — search, contact, permits, the newsletter box in the footer. Then check that a field whose only label is placeholder text still has one once you start typing.
- Pass
- Clicking the label moves focus into its field, every field has a visible label that stays visible, and no field is labelled by its placeholder alone.
- WCAG
- 4.1.2 Name, Role, Value (A)
- Automated?
- Partly
B9Submit a form wrong on purpose
- Why
- The moment a form rejects something is the moment it is least usable, and it is almost never tested. A red border and nothing else tells a screen reader user that nothing happened.
- How
- Leave a required field empty, put letters in a date, and submit. Then do the same thing with the keyboard only, and note where focus lands and what is announced.
- Pass
- The error says what is wrong and how to fix it, in text, beside the field and in a summary at the top; focus moves to the summary; and nothing that was typed is lost.
- WCAG
- 3.3.1 Error Identification (A)
- Automated?
- No
B10Read the link text with the page hidden
- Why
- Screen reader users list the links on a page and pick one. Eleven links reading “read more” are eleven identical choices, and the one that says “click here” says nothing at all.
- How
- Copy the page’s links into a list, or use a screen reader’s link list, and read them without the surrounding text. An engine will find an empty link; it cannot tell you that “read more” is ambiguous.
- Pass
- Every link says where it goes without the sentence around it, and no two links with different destinations read the same.
- WCAG
- 2.4.4 Link Purpose (In Context) (A)
- Automated?
- Partly
B11Check the page title and the page language
- Why
- The title is what a browser tab, a bookmark and a search result all show, and the language attribute is what decides whether a screen reader reads your page in English or in the voice it happened to be set to.
- How
- Read the browser tab on ten pages and see whether any two are the same. Then view the source and check that the opening `html` tag carries `lang="en"`, or the language the page is actually written in.
- Pass
- Every page has a title that names that page first, no two pages share one, and every page declares its language.
- WCAG
- 2.4.2 Page Titled (A) · 3.1.1 Language of Page (A)
- Automated?
- Yes
B12Play a video with the sound off
- Why
- A council meeting recording without captions is a public meeting somebody could not attend. It is also the item most often marked done on the strength of the platform’s automatic captions.
- How
- Play each video with the sound off and read the captions against what is being said. Check the names of speakers, the place names, and any number that matters.
- Pass
- Auto-generated captions are a failure, not a partial pass. If the captions came from the platform and nobody corrected them, the item does not pass.
- WCAG
- 1.2.2 Captions (Prerecorded) (A)
- Automated?
- No
C — Documents
9 items
A city of 78,877 people had 1,180 documents on its website, and 412 of them were not accessible.
Word, Excel and PowerPoint files are recorded but not yet validated, and say so. Files over 25 MB are not checked, and say so.
C1Check that every PDF is tagged
- Why
- An untagged PDF is a picture of a document as far as a screen reader is concerned: no headings, no reading order, no table structure. It is the single fact that decides whether the rest of this section is even checkable.
- How
- Open the file and look at the tags panel in your PDF reader, or run the free veraPDF validator against the PDF/UA-1 profile. Either answers it outright.
- Pass
- The document has a structure tree, and the tags are headings and paragraphs rather than one undifferentiated block.
- WCAG
- 1.3.1 Info and Relationships (A)
- Automated?
- Yes
C2Check every PDF has a real title, and that it opens showing it
- Why
- The title is what a reader hears first and what a bookmark records. A file that announces itself as `Microsoft Word - agenda_final_v3.docx` has told the reader nothing and told them it was not checked.
- How
- Read the document properties, and check the viewer preference that makes the reader show the title instead of the filename. Treat these as missing, not present: `untitled`, `document`, `document1`, anything beginning `Microsoft Word -`, and any title identical to the filename.
- Pass
- A title a person wrote, describing the document, and the reader shows it in the window bar rather than the filename.
- WCAG
- 2.4.2 Page Titled (A)
- Automated?
- Yes
C3Check every PDF says what language it is in
- Why
- Without a language, a screen reader reads an English agenda in whatever voice it was last set to. On a bilingual site it is the difference between a Spanish notice being read and being mangled.
- How
- Read the document properties for the language setting, or run the same free validator. Check any passage in a second language separately — a Spanish paragraph inside an English document needs its own.
- Pass
- The document declares its language, and any passage in another language declares its own.
- WCAG
- 3.1.1 Language of Page (A)
- Automated?
- Yes
C4Read the document in tag order and see if it matches the page
- Why
- Tags can be present and in the wrong order, which is the normal result of exporting a two-column agenda. The reader gets the left column and the right column interleaved, sentence by sentence.
- How
- Read the document with a screen reader, or step through the tags panel, and compare what you hear with what you see. Pay attention to headers, footers, page numbers, sidebars and anything in two columns.
- Pass
- What is read matches what is seen, in the order a person would read it, with running headers and page numbers marked as decoration rather than read out mid-sentence.
- WCAG
- 1.3.2 Meaningful Sequence (A)
- Automated?
- No
C5Check the tables are tables, and that the header row is marked as one
- Why
- A budget table read without its headers is a list of numbers. A validator can see that something was tagged as a table; it cannot tell you that a layout grid was tagged as one or that the wrong row was marked as the header, and both are common.
- How
- For each table, ask a screen reader to read one cell in the middle and listen for the column and row it names. Then look for tables that are not tables — three columns of text laid out in a grid for appearance.
- Pass
- Every table of data has its header cells marked as headers, every cell is announced with its column, and nothing that is only a layout is tagged as a table.
- WCAG
- 1.3.1 Info and Relationships (A)
- Automated?
- No
C6Check the scanned pages are real text, and that the text is right
- Why
- A scanned minute book is an image. Recognition software turns it into text, and the text it produces is wrong often enough that a resident searching for their own street will not find it.
- How
- Select a paragraph with the mouse and see whether anything is selected, then search the document for a word you can see on the page. Read the recognised text of a page against the page itself — names and numbers first.
- Pass
- Text is selectable and searchable throughout, and the text under a scan says what the scan says. A page of recognised text nobody read is not a pass.
- WCAG
- 1.4.5 Images of Text (AA)
- Automated?
- No
C7Check every image in a document describes what it is there for
- Why
- A map of a proposed annexation carries the whole point of the notice. A validator will report a figure with no description; it will not report a description that is wrong, and in a board packet most of the wrong ones say “image”.
- How
- Open the tags panel and read each figure’s description against the figure. Decide which images carry meaning and which are decoration, and mark the decoration as an artifact so it is skipped rather than read.
- Pass
- Every image that carries meaning has a description a reader could act on, and every decorative image is marked as decoration.
- WCAG
- 1.1.1 Non-text Content (A)
- Automated?
- No
C8Check anything longer than 20 pages has bookmarks that match its sections
- Why
- A 240-page board packet with no bookmarks can only be read from the top. A reader looking for one agenda item scrolls for it, and somebody using a screen reader scrolls through all of it.
- How
- Open the bookmarks panel and compare it with the document’s own table of contents. A list that exists but names `Heading 1`, `Heading 2`, `Heading 3` is a list nobody can navigate by.
- Pass
- Every document over 20 pages has bookmarks, they name the sections a reader is looking for, and they are nested the way the document is.
- WCAG
- 2.4.5 Multiple Ways (AA)
- Automated?
- No
C9Count the documents that are not PDFs, and the ones nothing will check
- Why
- Word, Excel and PowerPoint files are published on government sites constantly and are left out of most inventories. So are the very large files — a 40 MB scanned plan set is skipped by most tooling without saying so.
- How
- Count each extension separately, and count the files over 25 MB. Then decide, in writing, which of them get remediated, which get replaced with an accessible page, and which are archived.
- Pass
- A count per format and a count of the oversized files, each with a decision beside it. “Word, Excel and PowerPoint files are recorded but not yet validated” is an honest line in an inventory; leaving them out is not.
- WCAG
- —
- Automated?
- No
D — The systems that are not on your website
6 items
These are in scope for your obligation and they are not on your domain.
A VPAT older than 24 months is stale. Zero “Does Not Support” entries in a vendor’s VPAT is a red flag, not a green one.
D1Check the agenda and minutes portal
- Why
- It is where the public record lives, it is almost always on a vendor’s hostname, and it is the system residents are most often trying to use when they complain.
- How
- Click through from your own site and read the address bar — it is usually a host like `granicus.com` or `civicplus.com`. Ask the vendor for their current conformance report, check its date, and read what your contract says about accessibility.
- Pass
- The hostname is in your scope list, you hold a conformance report dated within 24 months, somebody has read it, and you know what your contract says about accessibility.
- WCAG
- —
- Automated?
- No
D2Check online payments
- Why
- A utility bill somebody cannot pay is a service they are excluded from, and the payment flow is usually the one system nobody in the building can change.
- How
- Start a payment and read the address bar at each step — the handoff often happens silently. Then ask the vendor for their conformance report, check its date, and read the contract.
- Pass
- The hostname is in your scope list, you hold a conformance report dated within 24 months, somebody has read it, and you know what your contract says about accessibility.
- WCAG
- —
- Automated?
- No
D3Check permits and licensing
- Why
- These are long multi-step forms with file uploads and session timeouts, which is the hardest thing on this list to get right and the most expensive to be wrong about.
- How
- Begin an application and note every hostname it passes through — `accela.com` and `tylertech.com` are the usual ones. Ask for the conformance report, check its date, and read the contract.
- Pass
- The hostname is in your scope list, you hold a conformance report dated within 24 months, somebody has read it, and you know what your contract says about accessibility.
- WCAG
- —
- Automated?
- No
D4Check job applications
- Why
- An application system somebody cannot use is a job they cannot apply for, and it is the one on this list most likely to produce a complaint that names a person.
- How
- Start an application, note the hostname, and try the whole flow from the keyboard. Ask the vendor for the conformance report, check its date, and read the contract.
- Pass
- The hostname is in your scope list, you hold a conformance report dated within 24 months, somebody has read it, and you know what your contract says about accessibility.
- WCAG
- —
- Automated?
- No
D5Check the library catalogue
- Why
- The catalogue and its ebook platform are separate systems, usually from separate vendors, and the second one is almost never in anybody’s scope list.
- How
- Search the catalogue, then borrow something, and note every hostname on the way. Ask each vendor for a conformance report, check the dates, and read both contracts.
- Pass
- The hostname is in your scope list, you hold a conformance report dated within 24 months, somebody has read it, and you know what your contract says about accessibility.
- WCAG
- —
- Automated?
- No
D6Check maps and GIS
- Why
- A zoning map is often the only published form of the information, and an interactive map is the hardest kind of content to make usable without sight. The answer is usually a text equivalent rather than a better map.
- How
- Open each map, note the hostname, and try to get the same answer from the keyboard alone. Ask the vendor for the conformance report, check its date, read the contract, and write down what the text equivalent is going to be.
- Pass
- The hostname is in your scope list, you hold a conformance report dated within 24 months, somebody has read it, and you know what your contract says about accessibility.
- WCAG
- —
- Automated?
- No
E — What to write down
7 items
This is the part a demand letter tests, and it is the part nobody does.
E1Write down what was tested, when, by whom, and with what
- Why
- A result with no scope is a result nobody can rely on a year later. “The site was tested” and “eight page templates were tested on 14 September 2026 with NVDA 2026.1 and Firefox” are different claims, and only the second survives a question.
- How
- For every round of testing, record the pages or templates covered, the date, the person, the tool and its version number. A spreadsheet is enough to start.
- Pass
- Any row in the record answers what was tested, when, by whom and with which tool at which version, without anyone having to remember.
- WCAG
- —
- Automated?
- No
E2Write down what was fixed, by whom, and on what date
- Why
- The gap between “we fixed it” and a record of who changed what, when, is the gap a demand letter is written into.
- How
- Record the change beside the finding it answers rather than in a separate ticket queue. Name the person, the date and what actually changed.
- Pass
- Every finding you consider resolved has a dated entry naming the person who resolved it.
- WCAG
- —
- Automated?
- No
E3Write down what was verified, how, and what the verification covered
- Why
- A submitted fix is not a confirmed fix. Verification is a separate event with its own method and its own scope, and collapsing the two is how a programme reports work it has not checked.
- How
- For each fix, record who re-tested it, by which method — a person or a tool — and on which pages. Write the scope into the sentence: “verified fixed for this test scope”, never “verified”.
- Pass
- Every verification names an actor, a method and a scope, and it is a separate entry from the fix it checked.
- WCAG
- —
- Automated?
- No
E4Write down what you decided not to fix, why, who decided, and when it is next looked at
- Why
- Deferring work is a legitimate decision and an undated one is how a deferral becomes permanent without anybody choosing that. The reason is also the part a reviewer reads first.
- How
- For each deferral, record the owner, the reason in their own words, and a review date. “Legacy section scheduled for replacement Q3 2027” is a reason; “low priority” is not.
- Pass
- No deferred item is without an owner, a written reason and a date it is looked at again.
- WCAG
- —
- Automated?
- No
E5Write down what is out of scope, and under which exception
- Why
- The rule names specific exceptions — archived content, pre-existing documents, third-party content not under contract, individualised password-protected documents, older social media posts, and content whose failure is de minimis. A claim that names a whole section or a file type is the one that gets pulled.
- How
- For each claim, name the specific page or document, the exception it falls under, who decided, and when. Treat the de minimis claim as the one you will be asked about first, and write down why that particular failure has so minimal an effect.
- Pass
- Every exception claim names a specific item, a specific exception, a person and a date, and reads as a decision rather than as a category.
- WCAG
- —
- Automated?
- No
E6Write down what a resident told you, and what happened next
- Why
- A report from a member of the public is the highest-quality finding you will ever get, and the record of what you did about it is what shows a programme is running rather than filed.
- How
- Give people one address or form to report a barrier, acknowledge every report, and record what was done and when it was closed. Say so even when the answer is that nothing will change, and say why.
- Pass
- Every report has an acknowledgement, an outcome and a date, and the reporter was told the outcome.
- WCAG
- —
- Automated?
- No
E7Decide where all of this lives, and who can find it without asking
- Why
- This is the part a demand letter tests, and it is the part nobody does. A record held in one person’s inbox is a record that leaves with them.
- How
- Pick one place — a shared drive, a system, a folder — write down where it is, and tell the clerk, the attorney and the department heads. Then check that somebody other than you can open it.
- Pass
- Two people who are not you can produce the whole record from memory of where it is, within a day, without your help.
- WCAG
- —
- Automated?
- No
F — What no checklist can tell you
6 items
F1Plan for the barriers no tool reports
- Why
- Automated testing detects roughly 30–40% of real barriers. Manual testing covers the rest.
- How
- Read the `Automated?` column of the criterion map below and count the items it answers for you. Then put the rest into a plan with names and dates against it.
- Pass
- Your plan has time in it for the work no tool reports, and the person who has to do that work knows it is theirs.
- WCAG
- —
- Automated?
- No
F2Know how much of the standard a tool can see
- Why
- 16 of the 50 WCAG 2.1 AA success criteria have any automated coverage — 32%.
- How
- When a vendor shows you a number, ask which criteria it covers and which it does not. The answer is a list, and a vendor who cannot produce one is reporting on a subset without saying which.
- Pass
- You can name the criteria your tooling does not cover, and nobody in your organisation reads a scan result as a statement about the whole standard.
- WCAG
- —
- Automated?
- No
F3Treat this as a triage, not an audit
- Why
- This checklist is a triage, not an audit. It will not produce a conformance claim.
- How
- Use it to find out where the work is and how much there is. When you need a conformance claim, that comes from a completed evaluation against every applicable criterion, with its scope written down.
- Pass
- Nothing produced from this checklist is presented to a council or a court as an audit.
- WCAG
- —
- Automated?
- No
F4Ask a person who uses a screen reader to do one real task on your site
- Why
- Nothing here tells you whether a real person can complete a real task on your site. Ask one.
- How
- Pick a task somebody actually comes to you for — pay a bill, find a meeting agenda, apply for a permit. Ask a resident who uses assistive technology, or a local disability organisation, to try it. Pay them for their time.
- Pass
- Somebody who does not work for you has completed a real task on your site, and you wrote down where it went wrong.
- WCAG
- —
- Automated?
- No
F5Do not read a finished checklist as a conformance claim
- Why
- Passing every item does not make a site conformant, and no tool issues that verdict.
- How
- When somebody asks whether the site conforms, answer with what was tested, what was found, what was fixed and what remains open. That is an answer you can support.
- Pass
- No document your organisation publishes claims conformance on the strength of a finished list.
- WCAG
- —
- Automated?
- No
F6Do not read a clean scan as a clean site
- Why
- A clean automated scan is not a conformant site.
- How
- When a scan comes back with nothing, treat it as a statement about the test rather than about the site, and go and do B1, B3 and B9 by hand.
- Pass
- A clean scan result is recorded with the sentence that qualifies it, wherever it is reported.
- WCAG
- —
- Automated?
- No
Which criterion each item covers
| Item | What it checks | WCAG criterion | Level | Automated? |
|---|---|---|---|---|
| A1 — Name the person responsible | Name the person responsible | No success criterion | Not applicable | No |
| A2 — Find out which deadline applies to you | Find out which deadline applies to you | No success criterion | Not applicable | No |
| A3 — Write down what counts as your website | Write down what counts as your website | No success criterion | Not applicable | No |
| A4 — Count your documents | Count your documents | No success criterion | Not applicable | No |
| B1 — Unplug the mouse and use the site | Unplug the mouse and use the site | 2.1.1 Keyboard | A | Partly |
| B2 — Watch where the focus ring goes, and whether you can see it | Watch where the focus ring goes, and whether you can see it | 2.4.7 Focus Visible | AA | Partly |
| B3 — Zoom to 400% in a 320 px wide window | Zoom to 400% in a 320 px wide window | 1.4.10 Reflow | AA | No |
| B4 — Check every image says something useful or says nothing at all | Check every image says something useful or says nothing at all | 1.1.1 Non-text Content | A | Partly |
| B5 — Check the text against its background | Check the text against its background | 1.4.3 Contrast (Minimum) | AA | Yes |
| B6 — Check buttons, borders and icons against their background | Check buttons, borders and icons against their background | 1.4.11 Non-text Contrast | AA | Partly |
| B7 — Read the headings on their own and see if they are an outline | Read the headings on their own and see if they are an outline | 1.3.1 Info and Relationships | A | Partly |
| B8 — Click every form label and see if the field takes focus | Click every form label and see if the field takes focus | 4.1.2 Name, Role, Value | A | Partly |
| B9 — Submit a form wrong on purpose | Submit a form wrong on purpose | 3.3.1 Error Identification | A | No |
| B10 — Read the link text with the page hidden | Read the link text with the page hidden | 2.4.4 Link Purpose (In Context) | A | Partly |
| B11 — Check the page title and the page language | Check the page title and the page language | 2.4.2 Page Titled3.1.1 Language of Page | A | Yes |
| B12 — Play a video with the sound off | Play a video with the sound off | 1.2.2 Captions (Prerecorded) | A | No |
| C1 — Check that every PDF is tagged | Check that every PDF is tagged | 1.3.1 Info and Relationships | A | Yes |
| C2 — Check every PDF has a real title, and that it opens showing it | Check every PDF has a real title, and that it opens showing it | 2.4.2 Page Titled | A | Yes |
| C3 — Check every PDF says what language it is in | Check every PDF says what language it is in | 3.1.1 Language of Page | A | Yes |
| C4 — Read the document in tag order and see if it matches the page | Read the document in tag order and see if it matches the page | 1.3.2 Meaningful Sequence | A | No |
| C5 — Check the tables are tables, and that the header row is marked as one | Check the tables are tables, and that the header row is marked as one | 1.3.1 Info and Relationships | A | No |
| C6 — Check the scanned pages are real text, and that the text is right | Check the scanned pages are real text, and that the text is right | 1.4.5 Images of Text | AA | No |
| C7 — Check every image in a document describes what it is there for | Check every image in a document describes what it is there for | 1.1.1 Non-text Content | A | No |
| C8 — Check anything longer than 20 pages has bookmarks that match its sections | Check anything longer than 20 pages has bookmarks that match its sections | 2.4.5 Multiple Ways | AA | No |
| C9 — Count the documents that are not PDFs, and the ones nothing will check | Count the documents that are not PDFs, and the ones nothing will check | No success criterion | Not applicable | No |
| D1 — Check the agenda and minutes portal | Check the agenda and minutes portal | No success criterion | Not applicable | No |
| D2 — Check online payments | Check online payments | No success criterion | Not applicable | No |
| D3 — Check permits and licensing | Check permits and licensing | No success criterion | Not applicable | No |
| D4 — Check job applications | Check job applications | No success criterion | Not applicable | No |
| D5 — Check the library catalogue | Check the library catalogue | No success criterion | Not applicable | No |
| D6 — Check maps and GIS | Check maps and GIS | No success criterion | Not applicable | No |
| E1 — Write down what was tested, when, by whom, and with what | Write down what was tested, when, by whom, and with what | No success criterion | Not applicable | No |
| E2 — Write down what was fixed, by whom, and on what date | Write down what was fixed, by whom, and on what date | No success criterion | Not applicable | No |
| E3 — Write down what was verified, how, and what the verification covered | Write down what was verified, how, and what the verification covered | No success criterion | Not applicable | No |
| E4 — Write down what you decided not to fix, why, who decided, and when it is next looked at | Write down what you decided not to fix, why, who decided, and when it is next looked at | No success criterion | Not applicable | No |
| E5 — Write down what is out of scope, and under which exception | Write down what is out of scope, and under which exception | No success criterion | Not applicable | No |
| E6 — Write down what a resident told you, and what happened next | Write down what a resident told you, and what happened next | No success criterion | Not applicable | No |
| E7 — Decide where all of this lives, and who can find it without asking | Decide where all of this lives, and who can find it without asking | No success criterion | Not applicable | No |
| F1 — Plan for the barriers no tool reports | Plan for the barriers no tool reports | No success criterion | Not applicable | No |
| F2 — Know how much of the standard a tool can see | Know how much of the standard a tool can see | No success criterion | Not applicable | No |
| F3 — Treat this as a triage, not an audit | Treat this as a triage, not an audit | No success criterion | Not applicable | No |
| F4 — Ask a person who uses a screen reader to do one real task on your site | Ask a person who uses a screen reader to do one real task on your site | No success criterion | Not applicable | No |
| F5 — Do not read a finished checklist as a conformance claim | Do not read a finished checklist as a conformance claim | No success criterion | Not applicable | No |
| F6 — Do not read a clean scan as a clean site | Do not read a clean scan as a clean site | No success criterion | Not applicable | No |
12 of these 44 items can be checked by a tool. 32 need a person.
Use it, copy it, put your own logo on it
Published under Creative Commons Attribution 4.0.
You may copy this, print it, edit it, translate it and publish it on your own site, including with your own branding. Keep a line saying where it came from. You do not need to ask us.
Have the first five pages checked for you
The scan is the only thing on this site behind an email address, and it is behind one because the result is emailed.
Five pages, no account, no card. It is a sample, not an assessment of the whole site.
Questions people ask about this checklist
Do I have to give you my email address?
No. There is no form on this page. The PDF is a link and the page is the same content.
Can I put this on our intranet with our own logo?
Yes. It is published under Creative Commons Attribution 4.0. Keep a line saying where it came from.
Is this a conformance audit?
No. It is a triage. It will tell you where to start and it will not produce a conformance claim. Only a completed manual evaluation does that.
Why is there no score at the end?
Because a percentage invites a report to a council that says 82%, and 82% of a checklist means nothing about whether a resident can use the site.
Does BarrierOps check all 44 of these?
No. 12 of them can be checked automatically and BarrierOps checks those. The other 32 need a person, and the product’s manual testing module is where those live.
Is the 2028 date right for us?
It depends on your entity type and population. Public entities of 50,000 or more have 26 April 2027. Under 50,000, and special districts of any size, have 26 April 2028. Interim final rule; a legal challenge is pending.