Clean Page Accessibility Conformance Report, WCAG Edition
(Based on VPAT® Version 2.5)
Name of Product/Version: Clean Page web application, build 151fa2f. This build was evaluated at https://dev.cleanpage.app/. It is the code that ships to https://cleanpage.app/.
Report Date:
Date of Evaluation:
Product Description: Clean Page is a writing application that runs in a web browser as a single page. It has a writing surface, a toolbar, and Settings, Download, confirmation and error dialogs. It offers light and dark themes and regular and large text sizes. It can be installed as an app.
Contact Information: ChirpWater LLC, jeff@chirpwater.com
Notes
This report is a self-assessment by ChirpWater LLC. It follows the structure of the W3C's evaluation methodology (WCAG-EM). It is not a third-party certification.
In scope: the application at https://dev.cleanpage.app/. This covers the writing surface, the toolbar, and the Settings, Download, confirmation and error dialogs, in light and dark themes and at regular and large text size.
Not in scope:
- The information site at https://www.cleanpage.org/, which includes this page. It is a separate set of plain HTML pages and was not evaluated.
- Printed output on paper, and any PDF produced by the browser's print dialog. These are outside WCAG's scope.
- The operating system's own file pickers and print dialogs.
Accessibility-support baseline: the evaluation ran in Chromium. Statements about what assistive technology announces rest on the browser's accessibility tree and the W3C technique test procedures. No screen reader was listened to.
Known limitations:
- No screen reader was listened to. The next step is a ChromeVox session on a Chromebook, then NVDA, to confirm what is actually spoken. This includes the "Changes saved" announcement and the file-name error.
- Chromium only. Firefox and WebKit were not part of this evaluation.
- Touch and tablet mode on convertible Chromebooks were not exercised. The coarse-pointer layout (44 px targets) exists but was not rendered in this run.
- A list of 23 minor improvements that fail no criterion is kept in the internal audit.
WCAG 2.2 is backward compatible. The evaluation report states that, on the same evidence, Clean Page also meets WCAG 2.1 Level AA and WCAG 2.0 Level AA. Whether any law applies to Clean Page or to a given deployment is a legal question this report does not answer.
Evaluation Methods Used
- Automated capture across 19 interface states on the live site. These were: initial, toolbar focus, typed text, each dialog, dark theme, large text, a saved file name, 320 CSS px width, the 200 % zoom equivalent, Windows forced-colours and reduced-motion preferences, print media, and the WCAG text-spacing override.
- Two rule engines. axe-core 4.13.0 ran with the WCAG 2.0, 2.1 and 2.2 rule tags, including the 2.2 target-size rule. It reported no violation in any state of the final build. IBM Equal Access ran once with its WCAG 2.2 policy, on the pre-fix build. It reported no violation and nine items to verify manually. The manual checks below cover each of them.
- Direct measurements. Colour contrast was computed for every visible text, border, boundary and focus indicator, including inside modal dialogs. Every focusable target's size was measured. The accessibility tree was captured in every state. 29 scripted keyboard and layout checks were run.
- A verdict for every one of the 55 Level A and Level AA criteria against the normative text and its exceptions, with the evidence named for each pass.
- Adversarial verification. Every reported issue was re-examined before being accepted, and a separate pass attempted to overturn every pass verdict.
- Re-audit after fixes. The first evaluation on 2026-09-19 found four Level AA failures and one criterion that could not be determined. The fixes were deployed and every affected criterion was re-evaluated on the live site. This report reflects that second evaluation.
Applicable Standards/Guidelines
This report covers the degree of conformance for the following accessibility standard/guidelines:
| Standard/Guideline | Included In Report |
|---|---|
| Web Content Accessibility Guidelines 2.2 | Level A (Yes) Level AA (Yes) Level AAA (No) |
Terms
The terms used in the Conformance Level information are defined as follows:
- Supports: The functionality of the product has at least one method that meets the criterion without known defects or meets with equivalent facilitation.
- Partially Supports: Some functionality of the product does not meet the criterion.
- Does Not Support: The majority of product functionality does not meet the criterion.
- Not Applicable: The criterion is not relevant to the product.
- Not Evaluated: The product has not been evaluated against the criterion. This can only be used in WCAG Level AAA criteria.
WCAG 2.2 Report
Each criterion name links to the W3C's Understanding document for that criterion.
Level A: 24 Supports, 7 Not Applicable. Level AA: 17 Supports, 7 Not Applicable. No criterion is rated Partially Supports or Does Not Support.
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.1.1 Non-text Content (Level A) | Supports | None. |
| 1.2.1 Audio-only and Video-only (Prerecorded) (Level A) | Not Applicable | No audio or video. |
| 1.2.2 Captions (Prerecorded) (Level A) | Not Applicable | No audio or video. |
| 1.2.3 Audio Description or Media Alternative (Prerecorded) (Level A) | Not Applicable | No audio or video. |
| 1.3.1 Info and Relationships (Level A) | Supports | None. |
| 1.3.2 Meaningful Sequence (Level A) | Supports | None. |
| 1.3.3 Sensory Characteristics (Level A) | Supports | None. |
| 1.4.1 Use of Color (Level A) | Supports | None. |
| 1.4.2 Audio Control (Level A) | Not Applicable | No audio. |
| 2.1.1 Keyboard (Level A) | Supports | None. |
| 2.1.2 No Keyboard Trap (Level A) | Supports | None. |
| 2.1.4 Character Key Shortcuts (Level A) | Supports | None. |
| 2.2.1 Timing Adjustable (Level A) | Supports | None. |
| 2.2.2 Pause, Stop, Hide (Level A) | Supports | None. |
| 2.3.1 Three Flashes or Below Threshold (Level A) | Supports | None. |
| 2.4.1 Bypass Blocks (Level A) | Not Applicable | Single page, no repeated blocks. |
| 2.4.2 Page Titled (Level A) | Supports | None. |
| 2.4.3 Focus Order (Level A) | Supports | None. |
| 2.4.4 Link Purpose (In Context) (Level A) | Supports | None. |
| 2.5.1 Pointer Gestures (Level A) | Supports | None. |
| 2.5.2 Pointer Cancellation (Level A) | Supports | None. |
| 2.5.3 Label in Name (Level A) | Supports | None. |
| 2.5.4 Motion Actuation (Level A) | Not Applicable | No motion input. |
| 3.1.1 Language of Page (Level A) | Supports | None. |
| 3.2.1 On Focus (Level A) | Supports | None. |
| 3.2.2 On Input (Level A) | Supports | None. |
| 3.2.6 Consistent Help (Level A) | Not Applicable | No help mechanism to be consistent about. New in WCAG 2.2. |
| 3.3.1 Error Identification (Level A) | Supports | None. |
| 3.3.2 Labels or Instructions (Level A) | Supports | None. |
| 3.3.7 Redundant Entry (Level A) | Supports | New in WCAG 2.2. |
| 4.1.2 Name, Role, Value (Level A) | Supports | None. |
4.1.1 Parsing is not listed. WCAG 2.2 removed it as obsolete. The evaluation report notes that the W3C treats it as always satisfied for HTML content, and that Clean Page's markup has no duplicate IDs.
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.2.4 Captions (Live) (Level AA) | Not Applicable | No live media. |
| 1.2.5 Audio Description (Prerecorded) (Level AA) | Not Applicable | No video. |
| 1.3.4 Orientation (Level AA) | Supports | Issue found in the first evaluation (2026-09-19) and confirmed fixed in the second: the installable app's manifest locked it to portrait. The lock is removed. |
| 1.3.5 Identify Input Purpose (Level AA) | Not Applicable | No fields that collect information about the user. |
| 1.4.3 Contrast (Minimum) (Level AA) | Supports | None. |
| 1.4.4 Resize Text (Level AA) | Supports | None. |
| 1.4.5 Images of Text (Level AA) | Supports | None. |
| 1.4.10 Reflow (Level AA) | Supports | Issue found in the first evaluation (2026-09-19) and confirmed fixed in the second: the saved-file name in the toolbar was cut off at narrow widths. It now wraps and is never clipped. |
| 1.4.11 Non-text Contrast (Level AA) | Supports | Issue found in the first evaluation (2026-09-19) and confirmed fixed in the second: in dark mode the edge of the empty page was below 3:1 against the desk. It is now 6.2:1. Dialog button borders were also raised well above 3:1. |
| 1.4.12 Text Spacing (Level AA) | Supports | Issue found in the first evaluation (2026-09-19) and confirmed fixed in the second: the saved-file name in the toolbar was cut off under user text-spacing. It now wraps and is never clipped. |
| 1.4.13 Content on Hover or Focus (Level AA) | Supports | None. |
| 2.4.5 Multiple Ways (Level AA) | Not Applicable | Single page, not a set of pages. |
| 2.4.6 Headings and Labels (Level AA) | Supports | None. |
| 2.4.7 Focus Visible (Level AA) | Supports | None. |
| 2.4.11 Focus Not Obscured (Minimum) (Level AA) | Supports | New in WCAG 2.2. |
| 2.5.7 Dragging Movements (Level AA) | Supports | New in WCAG 2.2. |
| 2.5.8 Target Size (Minimum) (Level AA) | Supports | New in WCAG 2.2. |
| 3.1.2 Language of Parts (Level AA) | Supports | None. |
| 3.2.3 Consistent Navigation (Level AA) | Not Applicable | Single page. |
| 3.2.4 Consistent Identification (Level AA) | Not Applicable | Single page. |
| 3.3.3 Error Suggestion (Level AA) | Supports | None. |
| 3.3.4 Error Prevention (Legal, Financial, Data) (Level AA) | Supports | None. |
| 3.3.8 Accessible Authentication (Minimum) (Level AA) | Not Applicable | No authentication. New in WCAG 2.2. |
| 4.1.3 Status Messages (Level AA) | Supports | Issue found in the first evaluation (2026-09-19) and confirmed fixed in the second: the “Changes saved” region left the accessibility tree between messages. It now stays present, so a screen reader that is watching it sees the text change. |
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| All Level AAA success criteria | Not Evaluated | Level AAA was not part of this evaluation. |
Legal Disclaimer (ChirpWater LLC)
This report describes the build named above as evaluated on the date given. It is a self-assessment made in good faith. It is not a third-party certification and is not a warranty. Later builds may differ. Whether any law or regulation applies to Clean Page or to a given deployment is a question for the reader's own counsel.
To report a barrier or ask about this report, email jeff@chirpwater.com.
VPAT® is a registered service mark of the Information Technology Industry Council (ITI)