Accessibility readiness report
allthepossibles.com
- Report date
- 24 October 2026
- Pages read
- 10
- Report ID
rpt_ac7bcfd5f0b2
Sample report. This is a real run against our own site, allthepossibles.com, with its real findings. A paid report has the same sections for your site and arrives as a private link.
Summary
We read 10 pages of allthepossibles.com on 24 October 2026 (/, /guides, /notes and others). The automated checks reported 1 confirmed problem across 1 WCAG criterion: 0 high, 1 medium and 0 low. They also raised 1 item marked estimate or to verify, which are listed separately because the checks could not settle them.
None of the problems rose to the fix-first list.
Of the 55 Level A and AA criteria in WCAG 2.2, the conformance table marks 1 as Supports, 1 as Partially Supports, 0 as Does Not Support and 53 as Not Evaluated. The Not Evaluated rows are the majority because most of WCAG can only be judged by a person using the site. Treat them as open questions, not as passes.
Next steps: fix the items marked Fix first, work through the manual checklist, then edit the accessibility statement draft to say what you actually found.
What automated checks cannot test
Most accessibility problems cannot be found by software reading code. Everything below needs a person, and none of it is covered by this report. A site can pass every automated check here and still be unusable with a keyboard or a screen reader.
- Keyboard use
- Whether every control can be reached, operated and left with the keyboard alone, in a sensible order, with no trap. Static markup shows only the pieces that are announced to be focusable.
- Screen readers
- What NVDA, JAWS, VoiceOver or TalkBack actually say. Names, roles, states, live updates and reading order depend on the browser's accessibility tree after script has run, and this report never ran script.
- Zoom and reflow
- Whether the page works at 200 percent zoom, at 320 CSS pixels wide, and with user text spacing applied. Nothing was rendered, so clipping and overlap went unseen.
- Contrast beyond stated CSS pairs
- Text over photographs, gradients and video; colours set by script; hover, focus and disabled states; icons and input borders. The CSS check reads colour pairs the stylesheet states and says when it had to assume a background.
- Visible focus
- Whether a focus indicator appears, is thick enough to see, and is not covered by a sticky header or cookie banner.
- Meaning of text alternatives
- The checks can see that alt text exists and flag obvious junk. They cannot judge whether it says the right thing about the picture.
- Captions, transcripts and audio description
- Whether recorded and live media has accurate captions and a text or audio alternative for what is shown.
- Forms in use
- Error messages, how they are announced, whether you can recover from a mistake, and whether anything is asked twice. These show up only when a person submits the form.
- Motion, timing and flashing
- Animation, carousels, timeouts and anything that flashes. CSS and script behaviour was not run.
- Sign-in and checkout flows
- Pages behind a login, a cart or a form step were not reached. Only pages the server returned to an anonymous visitor were read.
- Language and plain wording
- Whether the content is clear to the people it is written for, and whether passages in another language are marked.
- Script-built pages
- If a page builds its content with JavaScript, the HTML this report read may be nearly empty. A thin result on such a page says nothing about what a visitor gets.
The manual testing checklist turns these into steps you can follow in an afternoon.
Findings by WCAG 2.2 criterion
Each row is one kind of problem, grouped across the pages where it appears. Found means the check saw it in the markup or stylesheet. Estimate means the size or position was worked out from CSS and should be measured in a browser. To verify means the check could not settle it and a person should look.
| Criterion | Severity | Pages | Evidence | Suggested fix |
|---|---|---|---|---|
| 1.4.3 Contrast (Minimum) | mediumFound | /billing |
Text colour #0a0a0a on #0068e9 measures 3.92 to 1; 4.5 to 1 is needed (rule button.kit-cta)set at allthepossibles.com style block 1:113CSS contrast check |
Change one of the two colours until the pair reaches the ratio shown. Fix it in the stylesheet or design token that sets it so every page gets it. |
| 2.5.8 Target Size (Minimum) | mediumEstimate | /guides /notes /billing /notes/mcp-registry-scan and 1 more |
Target a.wordmark "All the Possibles" estimated at 19.5 px high, under 24 px with too little space around it (5 times) CSS target size estimate |
Add padding or a minimum height and width so the target reaches 24 by 24 CSS pixels. Measure in a browser to confirm, because this is an estimate from the CSS. |
Conformance table, laid out like a VPAT 2.5 report
This follows the WCAG layout of the Accessibility Conformance Report in the ITI VPAT 2.5 template: each success criterion with a conformance level and remarks. It is a draft from software, not a completed VPAT, and it is not a conformance claim. A row is marked Supports only where markup alone settles the criterion. Where a check found a problem, the row says Partially Supports or Does Not Support and cites it. Everything else is Not Evaluated, with how to test it by hand.
| Criteria | Conformance level | Remarks and explanations |
|---|---|---|
| 1.1.1 Non-text ContentEN 301 549: 9.1.1.1 | Not Evaluated | Not evaluated by the automated check. To test: Check that every informative image, icon, chart and control image has a text alternative that does the same job, and that decorative images are hidden from assistive technology. Judge the quality of the alt text, not only its presence. The alt text check ran on 10 pages and found no flagged alt text. Whether each description is right still needs a person. |
| 1.2.1 Audio-only and Video-only (Prerecorded)EN 301 549: 9.1.2.1 | Not Evaluated | Not evaluated by the automated check. To test: Find every prerecorded audio-only and video-only clip and confirm each has a transcript or an audio track that conveys the same information. |
| 1.2.2 Captions (Prerecorded)EN 301 549: 9.1.2.2 | Not Evaluated | Not evaluated by the automated check. To test: Play every prerecorded video with sound and confirm synchronized, accurate captions cover speech and meaningful sounds. |
| 1.2.3 Audio Description or Media Alternative (Prerecorded)EN 301 549: 9.1.2.3 | Not Evaluated | Not evaluated by the automated check. To test: For prerecorded video, confirm a full text alternative or an audio-described version exists wherever the picture carries information the audio does not. |
| 1.3.1 Info and RelationshipsEN 301 549: 9.1.3.1 | Not Evaluated | Not evaluated by the automated check. To test: Inspect headings, lists, tables, form groups and landmarks in the accessibility tree and confirm structure shown visually is also in the markup. Turn off CSS and check the page still reads in order. |
| 1.3.2 Meaningful SequenceEN 301 549: 9.1.3.2 | Not Evaluated | Not evaluated by the automated check. To test: Read the page in DOM order (or turn off CSS) and confirm the order still makes sense, including after CSS reordering. |
| 1.3.3 Sensory CharacteristicsEN 301 549: 9.1.3.3 | Not Evaluated | Not evaluated by the automated check. To test: Read instructions and confirm none rely only on shape, colour, size, position or sound (for example 'press the green button on the right'). |
| 1.4.1 Use of ColorEN 301 549: 9.1.4.1 | Not Evaluated | Not evaluated by the automated check. To test: View the page in greyscale and confirm links in text, errors, required fields and chart series are not told apart by colour alone. |
| 1.4.2 Audio ControlEN 301 549: 9.1.4.2 | Not Evaluated | Not evaluated by the automated check. To test: Load each page and confirm no audio plays for more than 3 seconds without a visible way to pause, stop or lower it. |
| 2.1.1 KeyboardEN 301 549: 9.2.1.1 | Not Evaluated | Not evaluated by the automated check. To test: Unplug the mouse and complete every task using only Tab, Shift+Tab, Enter, Space, arrow keys and Escape. Include custom widgets, menus, drag and drop alternatives and video players. |
| 2.1.2 No Keyboard TrapEN 301 549: 9.2.1.2 | Not Evaluated | Not evaluated by the automated check. To test: Tab through every page and every widget (modals, editors, embedded players) and confirm focus can always leave using standard keys. |
| 2.1.4 Character Key ShortcutsEN 301 549: 9.2.1.4 | Not Evaluated | Not evaluated by the automated check. To test: If the product has single-key shortcuts, confirm they can be turned off, remapped, or only fire when the relevant component has focus. |
| 2.2.1 Timing AdjustableEN 301 549: 9.2.2.1 | Not Evaluated | Not evaluated by the automated check. To test: Find session timeouts and time limits and confirm users can turn off, adjust or extend them (at least 10 times the default) with a warning. |
| 2.2.2 Pause, Stop, HideEN 301 549: 9.2.2.2 | Not Evaluated | Not evaluated by the automated check. To test: Find carousels, tickers, animations and auto-updating content that run over 5 seconds and confirm a control pauses, stops or hides them. |
| 2.3.1 Three Flashes or Below ThresholdEN 301 549: 9.2.3.1 | Not Evaluated | Not evaluated by the automated check. To test: Review animation, video and transitions for anything flashing more than three times in any second; use a tool such as PEAT if unsure. |
| 2.4.1 Bypass BlocksEN 301 549: 9.2.4.1 | Not Evaluated | Not evaluated by the automated check. To test: Tab from the top of the page and confirm a skip link or a proper set of landmarks and headings lets keyboard users jump past repeated navigation. |
| 2.4.2 Page TitledEN 301 549: 9.2.4.2 | Not Evaluated | Not evaluated by the automated check. To test: Read the title of each page and confirm it describes that page's topic or purpose and differs from other pages. |
| 2.4.3 Focus OrderEN 301 549: 9.2.4.3 | Not Evaluated | Not evaluated by the automated check. To test: Tab through each page and through modals and menus; confirm focus moves in a sequence that preserves meaning and operability and returns sensibly when a dialog closes. |
| 2.4.4 Link Purpose (In Context)EN 301 549: 9.2.4.4 | Not Evaluated | Not evaluated by the automated check. To test: Read each link with its surrounding sentence or list item and confirm its purpose is clear. Links with the same text should go to the same place. |
| 2.5.1 Pointer GesturesEN 301 549: 9.2.5.1 | Not Evaluated | Not evaluated by the automated check. To test: Find multi-point and path-based gestures (pinch, swipe, draw) and confirm each has a single-pointer alternative such as a button. |
| 2.5.2 Pointer CancellationEN 301 549: 9.2.5.2 | Not Evaluated | Not evaluated by the automated check. To test: Press down on controls and confirm actions fire on release (up event), so users can move the pointer away to cancel. |
| 2.5.3 Label in NameEN 301 549: 9.2.5.3 | Not Evaluated | Not evaluated by the automated check. To test: For each control with visible text, confirm its accessible name contains that visible text, ideally at the start. Test with voice control saying 'click <visible label>'. |
| 2.5.4 Motion ActuationEN 301 549: 9.2.5.4 | Not Evaluated | Not evaluated by the automated check. To test: If any function is triggered by shaking or tilting the device, confirm a normal control does the same and the motion can be disabled. |
| 3.1.1 Language of PageEN 301 549: 9.3.1.1 | Supports | Every page checked has an html lang attribute with a well-formed language tag. The check cannot tell whether the declared language is the right one; confirm it matches the main language of each page. |
| 3.2.1 On FocusEN 301 549: 9.3.2.1 | Not Evaluated | Not evaluated by the automated check. To test: Tab through controls and confirm that receiving focus never opens a new window, submits a form or moves focus elsewhere. |
| 3.2.2 On InputEN 301 549: 9.3.2.2 | Not Evaluated | Not evaluated by the automated check. To test: Change selects, checkboxes and radios and confirm nothing submits or navigates unexpectedly unless the user was told beforehand. |
| 3.2.6 Consistent HelpEN 301 549: none in v3.2.1 | Not Evaluated | Not evaluated by the automated check. To test: If help (contact details, chat, a help link) appears on several pages, confirm it sits in the same relative place on each. |
| 3.3.1 Error IdentificationEN 301 549: 9.3.3.1 | Not Evaluated | Not evaluated by the automated check. To test: Submit forms with bad and empty values and confirm each error is identified in text, names the field, and is announced to assistive technology. |
| 3.3.2 Labels or InstructionsEN 301 549: 9.3.3.2 | Not Evaluated | Not evaluated by the automated check. To test: Check that every input has a visible, persistent label and that format hints and required markers are available to everyone. Placeholder text alone is not enough. |
| 3.3.7 Redundant EntryEN 301 549: none in v3.2.1 | Not Evaluated | Not evaluated by the automated check. To test: Walk multi-step flows and confirm information already entered is auto-populated or selectable instead of asked for again in the same session. |
| 4.1.2 Name, Role, ValueEN 301 549: 9.4.1.2 | Not Evaluated | Not evaluated by the automated check. To test: Inspect custom controls in the accessibility tree and a screen reader and confirm each exposes a correct name, role and current state (expanded, checked, selected), and that changes are announced. |
| Criteria | Conformance level | Remarks and explanations |
|---|---|---|
| 1.2.4 Captions (Live)EN 301 549: 9.1.2.4 | Not Evaluated | Not evaluated by the automated check. To test: If the product streams live audio or video, confirm live captions are provided. Mark Not Applicable if nothing is live. |
| 1.2.5 Audio Description (Prerecorded)EN 301 549: 9.1.2.5 | Not Evaluated | Not evaluated by the automated check. To test: Play prerecorded video and confirm an audio description track covers visual information that matters. |
| 1.3.4 OrientationEN 301 549: 9.1.3.4 | Not Evaluated | Not evaluated by the automated check. To test: Rotate a device or emulator in both orientations and confirm nothing locks the view to one, unless one orientation is essential. |
| 1.3.5 Identify Input PurposeEN 301 549: 9.1.3.5 | Not Evaluated | Not evaluated by the automated check. To test: Check that fields collecting personal data (name, email, phone, address, card) use the matching autocomplete token. |
| 1.4.3 Contrast (Minimum)EN 301 549: 9.1.4.3 | Partially Supports | Not evaluated by the automated check. To test: Measure text against its background in every state and theme: 4.5:1 for normal text, 3:1 for large text (24px, or 18.66px bold). Include text over images and gradients. CSS contrast check: 1 problem on 1 page. See the findings table. |
| 1.4.4 Resize TextEN 301 549: 9.1.4.4 | Not Evaluated | Not evaluated by the automated check. To test: Zoom the browser to 200 percent and confirm all text and functionality remain, with no loss of content. |
| 1.4.5 Images of TextEN 301 549: 9.1.4.5 | Not Evaluated | Not evaluated by the automated check. To test: Look for text rendered as images (logos excepted) and confirm real text is used wherever the presentation can be achieved with CSS. |
| 1.4.10 ReflowEN 301 549: 9.1.4.10 | Not Evaluated | Not evaluated by the automated check. To test: Set the viewport to 320 CSS pixels wide (or zoom to 400 percent on a 1280px window) and confirm content needs no horizontal scrolling, except for data tables, maps and similar content. |
| 1.4.11 Non-text ContrastEN 301 549: 9.1.4.11 | Not Evaluated | Not evaluated by the automated check. To test: Measure borders of inputs, focus indicators, icons and chart marks against adjacent colours; each needs 3:1. |
| 1.4.12 Text SpacingEN 301 549: 9.1.4.12 | Not Evaluated | Not evaluated by the automated check. To test: Apply a text spacing bookmarklet (line height 1.5, paragraph spacing 2x, letter spacing 0.12em, word spacing 0.16em) and confirm nothing clips or overlaps. |
| 1.4.13 Content on Hover or FocusEN 301 549: 9.1.4.13 | Not Evaluated | Not evaluated by the automated check. To test: Trigger every tooltip, menu and popover by hover and focus and confirm it can be dismissed with Escape, stays when the pointer moves onto it, and persists until dismissed. |
| 2.4.5 Multiple WaysEN 301 549: 9.2.4.5 | Not Evaluated | Not evaluated by the automated check. To test: Confirm every page (outside a process) can be reached in at least two ways, such as navigation, search, a site map or links from related pages. |
| 2.4.6 Headings and LabelsEN 301 549: 9.2.4.6 | Not Evaluated | Not evaluated by the automated check. To test: Read headings and form labels out of context and confirm they describe the topic or purpose of what follows. |
| 2.4.7 Focus VisibleEN 301 549: 9.2.4.7 | Not Evaluated | Not evaluated by the automated check. To test: Tab through the page and confirm a visible focus indicator appears on every interactive element, including custom components. |
| 2.4.11 Focus Not Obscured (Minimum)EN 301 549: none in v3.2.1 | Not Evaluated | Not evaluated by the automated check. To test: Tab through pages with sticky headers, cookie banners and chat widgets and confirm the focused element is never fully hidden behind them. |
| 2.5.7 Dragging MovementsEN 301 549: none in v3.2.1 | Not Evaluated | Not evaluated by the automated check. To test: Find every drag interaction (sliders, sortable lists, maps, file drop) and confirm a single-pointer alternative exists, such as buttons or a menu. |
| 2.5.8 Target Size (Minimum)EN 301 549: none in v3.2.1 | Not Evaluated | Not evaluated by the automated check. To test: Measure rendered pointer targets: each should be at least 24 by 24 CSS pixels, or have enough spacing that a 24px circle centred on it touches no other target. Inline links in sentences are exempt. CSS target size estimate raised 1 item marked estimate; these are not counted as failures. |
| 3.1.2 Language of PartsEN 301 549: 9.3.1.2 | Not Evaluated | Not evaluated by the automated check. To test: Find passages in a different language from the page and confirm they carry their own lang attribute. |
| 3.2.3 Consistent NavigationEN 301 549: 9.3.2.3 | Not Evaluated | Not evaluated by the automated check. To test: Compare the navigation across several pages and confirm repeated menus appear in the same relative order. |
| 3.2.4 Consistent IdentificationEN 301 549: 9.3.2.4 | Not Evaluated | Not evaluated by the automated check. To test: Compare components that do the same thing on different pages (search, print, close) and confirm they are labelled and named the same way. |
| 3.3.3 Error SuggestionEN 301 549: 9.3.3.3 | Not Evaluated | Not evaluated by the automated check. To test: Trigger validation errors and confirm the message tells the user how to fix the problem when a fix is known. |
| 3.3.4 Error Prevention (Legal, Financial, Data)EN 301 549: 9.3.3.4 | Not Evaluated | Not evaluated by the automated check. To test: For payments, legal commitments and data deletion, confirm submissions can be reversed, checked for errors, or confirmed before they are final. |
| 3.3.8 Accessible Authentication (Minimum)EN 301 549: none in v3.2.1 | Not Evaluated | Not evaluated by the automated check. To test: Sign in with a password manager and by pasting; confirm no step needs memorising, transcribing or solving a puzzle (CAPTCHA) without an alternative. |
| 4.1.3 Status MessagesEN 301 549: 9.4.1.3 | Not Evaluated | Not evaluated by the automated check. To test: With a screen reader running, trigger search results, form success, cart updates and errors and confirm status messages are announced without moving focus. |
European Accessibility Act and EN 301 549
The European Accessibility Act (Directive (EU) 2019/882) has applied since 28 June 2025 to a defined list of products and services, among them e-commerce, consumer banking services, e-books, passenger transport ticketing and electronic communications. Whether it reaches your site depends on what you sell, who you sell it to, how large your business is (service providers that are microenterprises are exempt) and how your member state wrote the Directive into national law.
EN 301 549 is the European standard that gives a presumption of conformity with the Act's web requirements. Its web clause (clause 9) is built on WCAG 2.1 Levels A and AA in version 3.2.1. The clause number is simple to derive: WCAG success criterion 1.4.3 sits in clause 9.1.4.3, and 2.4.7 in 9.2.4.7. The conformance table below carries that clause in each row.
Six criteria in the table are new in WCAG 2.2 and have no clause in version 3.2.1 of the standard: 2.4.11, 2.5.7, 2.5.8, 3.2.6, 3.3.7 and 3.3.8. They are listed because WCAG 2.2 is the current guideline and newer revisions of the standard are expected to follow it; check which version your national rules name. In the other direction, 4.1.1 Parsing was retired in WCAG 2.2 but is still clause 9.4.1.1 of EN 301 549 v3.2.1, so duplicate ids are reported here against 4.1.1 as a best-practice note.
EN 301 549 also has requirements this report does not touch: generic ICT requirements, documents, software, support services and documentation. Meeting the web clause does not by itself satisfy the Act, which also has requirements for information about the service and for how you handle complaints.
Nothing in this report establishes compliance with the Act, with EN 301 549, or with any other law. Ask a qualified adviser what applies to you.
Prioritised fix list
Ranked by severity first, then by how many pages the problem reaches. Problems marked estimate or to verify come last because they need checking before you spend time on them.
Fix next
Target a.wordmark "All the Possibles" estimated at 19.5 px high, under 24 px with too little space around it
Add padding or a minimum height and width so the target reaches 24 by 24 CSS pixels. Measure in a browser to confirm, because this is an estimate from the CSS.
Text colour #0a0a0a on #0068e9 measures 3.92 to 1; 4.5 to 1 is needed (rule button.kit-cta)
Change one of the two colours until the pair reaches the ratio shown. Fix it in the stylesheet or design token that sets it so every page gets it.
Accessibility statement draft
Accessibility statement for [Organisation name]
[Organisation name] wants as many people as possible to be able to use allthepossibles.com. This statement says where the site stands today and how to tell us when something does not work for you.
The standard we work to
We aim to meet the Web Content Accessibility Guidelines (WCAG) 2.2 at Level AA. [If you are in the EU, add: The European standard EN 301 549, which the European Accessibility Act points to, is based on WCAG 2.1 Level AA.]
Where the site stands
[Pick one only after your own manual testing: This site fully conforms / partially conforms / does not yet conform to WCAG 2.2 Level AA. Do not publish a claim you have not checked.]
Problems we know about
An automated review on 24 October 2026 found these problems, and we are working to fix them:
- Some text has too little contrast against its background.
People have not yet tested [list what is still untested, for example: keyboard use, screen readers, zoom, contrast over images].
How this was assessed
[Describe what you did. For example: self-assessment on date, using an automated readiness report from All the Possibles (software output, not an audit), followed by manual testing with NVDA and VoiceOver. Delete anything you did not do.]
Tell us about a problem
Email [address] or call [number]. We reply within [number] working days.
If you are not happy with our reply
[Name and contact of the body that enforces accessibility rules in your country.]
This statement was prepared on [date] and will be reviewed on [date].
Manual testing checklist
Tick boxes are for working through this on screen or on paper. They are not saved if you leave the page.
How this report was made
The crawler started at https://allthepossibles.com/, followed same-origin links and the sitemap, respected robots.txt, and chose up to 10 pages from different sections of the site. It read static HTML and the stylesheets each page links. It did not run script, render the page, log in or fill forms.
| Page | Title | Markup check result |
|---|---|---|
/ | All the Possibles: tools that check themselves before they ship | 0 high, 0 medium, 0 low |
/guides | Guides: accessibility, AI crawlers and design checks | All the Possibl | 0 high, 0 medium, 0 low |
/notes | Notes: All the Possibles | 0 high, 0 medium, 0 low |
/billing | Manage membership billing | 0 high, 0 medium, 0 low |
/privacy | Privacy Policy: All the Possibles | 0 high, 0 medium, 0 low |
/terms | Terms of Service: All the Possibles | 0 high, 0 medium, 0 low |
/support | Support: All the Possibles | 0 high, 0 medium, 0 low |
/report | Accessibility readiness report, $149 once | All the Possibles | 0 high, 0 medium, 0 low |
/notes/mcp-registry-scan | I probed every remote server in the official MCP Registry. 30,557 URLs | 0 high, 0 medium, 0 low |
/guides/european-accessibility-act-small-teams | European Accessibility Act: what small teams must do | All the Possibl | 0 high, 0 medium, 0 low |
Checks run on each page: the page markup audit (text alternatives, names, labels, headings, landmarks, language, titles, zoom lock, autoplay), the CSS contrast pair check, the alt text quality check, the CSS target size estimate. The conformance table comes from the conformance report generator in the Designers tool set, which re-reads the same pages. The crawl found 15 pages in all; only the 10 listed were read.
If a page builds its content with script, the HTML may be nearly empty and the result for that page says little about what visitors see. Pages behind sign-in were not reached.