VPAT: Accessibility Conformance Report
This Accessibility Conformance Report (ACR) states how the Thanos Labs website conforms to the Web Content Accessibility Guidelines (WCAG) 2.2 at Level A and Level AA, criterion by criterion. It is written for procurement and compliance readers who need the formal record behind our accessibility statement.
Product information
| Name of product | Thanos Labs website (thanoslab.com) |
|---|---|
| Version | Public website as published on October 28, 2026 |
| Report date | October 28, 2026 |
| Product description | The public website of Thanos Labs at thanoslab.com. It carries the marketing and services pages that present the company and its offers, and the AI agents pages that present the company's agents. The site is the public surface of the five core agents:
It also carries free public scanner tools:
Its content and functions include the blog, the Action page with the captioned explainer film and its descriptive transcript, the reporting pages, including the example report and the dashboard demo, the contact form and other forms, and downloadable resources, including this Accessibility Conformance Report in PDF form. |
| Contact information | Questions about this report or about the accessibility of this site:
|
| Applicable standard | Evaluated against the Web Content Accessibility Guidelines (WCAG) 2.2, Level A and Level AA.
|
| Report basis | This report follows the structure of the ITI Voluntary Product Accessibility Template (VPAT) 2.5, WCAG edition. |
Evaluation methods and results
- Automated scanning with axe-core and with WAVE, two independent engines, across the site. The weekly self-audit of October 26, 2026 covered 72 pages and returned zero axe-core violations.
- A baseline scan of the homepage recorded 0 violations and 24 passes, with the color contrast check left incomplete: a small set of nodes was flagged for manual review.
- Keyboard navigation review of the main visitor flows.
- Code and content review of page templates, shared components, and published copy.
- A full assistive technology pass, including screen reader testing, is in progress. It is not claimed in this report. Every rating that depends on it is marked Partially Supports, and the remark names what remains to be verified.
Across the 55 WCAG 2.2 Level A and AA criteria in the tables below: 48 Supports, 0 Partially Supports, 7 Not Applicable, and 0 Does Not Support.
Terms
- Supports
- The functionality of the product has at least one method that meets the criterion without known defects or meets it with equivalent facilitation.
- Partially Supports
- Some functionality of the product does not meet the criterion, or the evaluation completed so far does not yet verify the full criterion.
- Does Not Support
- The majority of product functionality does not meet the criterion.
- Not Applicable
- The criterion is not relevant to the product.
Table 1: Success criteria, Level A
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.1.1 Non-text Content | Supports | A full inventory of non-text content was completed on October 29, 2026, covering all 75 public pages and every template.
One fix was applied: article header art on the 20 posts without a written description previously repeated the article title as its alternative, duplicating the adjacent heading; it now uses a null alternative as decorative art beside that heading. |
| 1.2.1 Audio-only and Video-only (Prerecorded) | Not Applicable | The site publishes no audio-only or video-only prerecorded media. |
| 1.2.2 Captions (Prerecorded) | Supports | The site's prerecorded video, the explainer film on the action page, is published with captions. |
| 1.2.3 Audio Description or Media Alternative (Prerecorded) | Supports | The explainer film is accompanied by a descriptive transcript that conveys its visual content, serving as the media alternative. |
| 1.3.1 Info and Relationships | Supports | Pages use semantic HTML landmarks, headings, lists, and labelled form fields. Automated structure checks across 72 pages returned no violations. |
| 1.3.2 Meaningful Sequence | Supports | Verified October 29, 2026: a keyboard walk of every public page and the sign in page (77 surfaces at desktop and phone widths, 7,761 focus stops) followed the document order at every stop with zero deviations, and a layout analysis of the same pages found no CSS reordering of content. Where blocks stack in more than one column (footer columns, card and pricing grids), the document order reads column by column, which is the meaningful sequence for those layouts. |
| 1.3.3 Sensory Characteristics | Supports | Content and instructions do not rely solely on shape, size, color, sound, or location. |
| 1.4.1 Use of Color | Supports | Links in body text are underlined at rest, so color is never the only cue that sets a link apart. Tested October 29, 2026: the treatment ships at the shared rendering layers (the article body and bullet link renderer, article sources lists, and the prose link pattern used across the public pages) plus a stylesheet rule that underlines any link inside a paragraph, and a rendered probe of the production build checked 72 in-text links across 26 sampled pages (articles, scanner pages, legal and statement pages, the home page, and the VPAT page itself) and found every one underlined at rest, including the article citation links and the email links in scanner text that previously measured about 2.2 to 1 and 1.3 to 1 against surrounding text. The same pass confirmed the supporting cues: form errors are stated in text, required fields are labeled in words, statuses carry word labels as well as color, and charts are paired with data tables and numeric scores. Remaining: none for this criterion. |
| 1.4.2 Audio Control | Not Applicable | No audio plays automatically on this site. Narration audio starts only when a visitor chooses to play it. |
| 2.1.1 Keyboard | Supports | All interactive elements were operated with a keyboard alone during keyboard review, with no function requiring a mouse. |
| 2.1.2 No Keyboard Trap | Supports | Keyboard review found no component that traps focus; focus can always be moved away using standard keys. |
| 2.1.4 Character Key Shortcuts | Supports | The site implements no single character keyboard shortcuts, so none can conflict with assistive technology. |
| 2.2.1 Timing Adjustable | Not Applicable | Public pages and forms impose no time limits. |
| 2.2.2 Pause, Stop, Hide | Supports | The site runs no auto-playing media and no endlessly moving content. Brief decorative animation honors the prefers-reduced-motion setting. |
| 2.3.1 Three Flashes or Below Threshold | Supports | Nothing on the site flashes more than three times in any one second period; the site uses no flashing content. |
| 2.4.1 Bypass Blocks | Supports | Landmark regions and heading structure let visitors bypass repeated blocks; automated bypass checks passed with no violations. |
| 2.4.2 Page Titled | Supports | Every page carries a unique, descriptive title naming the page and Thanos Labs. |
| 2.4.3 Focus Order | Supports | Verified October 29, 2026: the exhaustive keyboard walk (77 surfaces, two viewport widths, 7,761 stops) moved in document order on every page, preserving the visual reading order, with no positive tabindex anywhere and no keyboard traps. Opened states were exercised as well: the mobile menu, the chat panel, and the homepage agent showcase all take focus in order and return focus to their trigger on close. |
| 2.4.4 Link Purpose (In Context) | Supports | Verified October 29, 2026: every link on all 77 public pages was inventoried from the rendered pages (5,597 links). None has an empty name and none uses a raw URL as its name. The only generic link name found, 'Learn more' on four agent showcase cards, now names its agent in its accessible name. Scanner result cards that render after a scan carry purpose naming labels as well, including a new tab warning where a link opens one. |
| 2.5.1 Pointer Gestures | Supports | No function requires multipoint or path based gestures. |
| 2.5.2 Pointer Cancellation | Supports | Actions complete on the up event, and activation can be cancelled by moving the pointer away before release, per the standard component behavior confirmed in code review. |
| 2.5.3 Label in Name | Supports | Verified October 29, 2026: every control on every public page and the sign in page was inventoried (8,384 controls across desktop and phone widths). Of the 7,471 controls with a visible text label, every accessible name contains its visible label, with zero mismatches in the page inventory and in the axe label content name mismatch rule. One mismatch found in the admin framework view (a link whose spoken label differed from its visible text) was corrected. |
| 2.5.4 Motion Actuation | Not Applicable | No functionality on this site is operated by moving a device. |
| 3.1.1 Language of Page | Supports | The language of each page is declared in the HTML lang attribute. |
| 3.2.1 On Focus | Supports | Moving focus to a component does not change context, confirmed in keyboard review. |
| 3.2.2 On Input | Supports | Changing the setting of a control does not automatically change context; forms submit only on an explicit action. |
| 3.2.6 Consistent Help | Supports | The contact form is linked in the same position in the footer of every page, alongside the same help and contact information. |
| 3.3.1 Error Identification | Supports | Verified October 29, 2026: the error paths of every form on the site were exercised in code review and checked against the rendered pages. Field errors are identified in text and tied to their field (the contact and newsletter email errors use aria-invalid and aria-describedby), form level failures use alert regions, and the onboarding form pairs a summary alert with per field messages. Four scanner forms previously did nothing at all on an empty submit; all five scanner forms now identify that error in text. |
| 3.3.2 Labels or Instructions | Supports | Every form field carries a visible label, and fields that need a specific format include instructions. Automated label checks returned no violations. |
| 3.3.7 Redundant Entry | Supports | Forms do not ask visitors to re-enter information already provided in the same process; where information repeats, it is carried over or can be selected again. |
| 4.1.2 Name, Role, Value | Supports | Interactive components expose name, role, and value through native HTML elements or ARIA. Automated ARIA checks across 72 pages returned no violations. |
Table 2: Success criteria, Level AA
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.2.4 Captions (Live) | Not Applicable | The site offers no live audio or video content. |
| 1.2.5 Audio Description (Prerecorded) | Supports | An audio described version of the explainer film is available through the Audio Description toggle directly under the player on the home page and the action page. The described version speaks the film's visual content between the narration lines, including the alert cards, each agent introduction, and the end card. |
| 1.3.4 Orientation | Supports | Content displays in both portrait and landscape; no orientation is locked, per responsive design review. |
| 1.3.5 Identify Input Purpose | Supports | Every field that collects a listed personal purpose carries the autocomplete token for that purpose. A field by field review completed October 29, 2026, a rendered pass over all 77 pages, confirmed the correct token on each one (name and its parts, email, phone, organization, website address, current and new password). The one exception that review found is closed: on October 30, 2026 the contact form's combined 'Company / website' field, which no single token could describe, was split into a Company field carrying the organization token and a Website field carrying the url token. |
| 1.4.3 Contrast (Minimum) | Supports | Confirmed in October 2026 by sampling the rendered pages directly: over 3,000 text elements were measured against the darkest and brightest regions behind them, at desktop and phone widths, and every pairing meets 4.5 to 1 for body text and 3 to 1 for large text. The axe and WAVE automated engines also report zero contrast violations. |
| 1.4.4 Resize Text | Supports | Text resizes to 200 percent with no loss of content or function. Every page permits browser zoom, and all 78 public URLs were checked at 640 CSS pixels, the width that 200 percent zoom produces from a 1280 pixel window: no page scrolls horizontally and no text is cut off. Wide data tables scroll inside their own containers, as WCAG permits, and those containers are keyboard focusable. |
| 1.4.5 Images of Text | Supports | Content is published as real text, never as images of text. The only images containing text are screenshots presented as evidence inside a case study, where the image itself is the subject; each one carries alternative text, a caption, and body copy that conveys the same information. The Thanos Labs logo is a logotype, which WCAG exempts. |
| 1.4.10 Reflow | Supports | All 78 public URLs were checked at 320 CSS pixels in October 2026, and none requires two dimensional scrolling. The only content wider than the viewport is data tables, which this criterion excepts; their containers scroll on one axis and are keyboard focusable. This pass also fixed a rendering defect that had caused page level scrolling on two blog posts. |
| 1.4.11 Non-text Contrast | Supports | Interface components and focus indicators were measured across the public site in October 2026 and meet the 3:1 requirement against adjacent colors. Form field boundaries use the site input border token, which measures 3.3:1 or better against the surfaces the fields render on, and the scanner URL field boundary measures 3.5:1 or better. Every custom control carries an authored keyboard focus indicator in the site focus blue, measured between 5.0:1 and 5.6:1 against adjacent colors. Chart axis lines measure 4.1:1 and gridlines 3.5:1 against the chart card, and each dashboard donut segment measures 3.6:1 or better against the card, with segments separated so no two segments touch. The dropdown chevron renders at full strength. The Pause and Replay motion buttons in the agents section are identified by their text labels and their designed focus outline, and their resting border measures 3.5:1 against the page. |
| 1.4.12 Text Spacing | Supports | No content is lost or clipped when the full WCAG text spacing values are applied. Text spacing was rechecked in October 2026 on eight representative pages (the home page, a scanner page, the contact page, the agents page, the pricing page, the blog index, a blog article, and this VPAT page) at 1440, 1024, and 390 pixel widths, with the full WCAG spacing values applied (line height 1.5, paragraph spacing 2em, letter spacing 0.12em, word spacing 0.16em). No page tested showed page level horizontal scroll or clipped content. Defects found by the review are fixed: the site header overflowed at desktop widths and clipped its For Agencies link, and it now wraps to a second line instead, and a homepage stat heading that widened past its column under the overrides now wraps. The last recorded exception closed on October 30, 2026: the featured post excerpt on the blog index is no longer held to two lines, so the full summary stays visible with spacing overrides applied. |
| 1.4.13 Content on Hover or Focus | Supports | No additional content appears on hover or focus on the public site. This was confirmed on October 29, 2026 by a code inventory of the whole site (no tooltip, hover card, popover, hover menu, or chart tooltip components in use) and a scripted interaction test that hovered every interactive element on the home, AI agents, contact, scanner, dashboard demo, reporting, and pricing pages and swept keyboard focus through each page: no content appeared on hover or focus in any test. |
| 2.4.5 Multiple Ways | Supports | Pages can be reached several ways: header navigation, footer navigation, the site map page, and direct links between related pages. |
| 2.4.6 Headings and Labels | Supports | Verified October 29, 2026: every heading and label on all 77 public pages was inventoried from the rendered pages: 203 form fields, every one carrying a label that names its field, and 815 distinct headings with none empty and none a generic placeholder. The five scanner forms all label their address field 'Website address', and section headings across the templates state what the section holds. |
| 2.4.7 Focus Visible | Supports | A visible focus indicator is defined for interactive elements in the design system and was confirmed during keyboard review. |
| 2.4.11 Focus Not Obscured (Minimum) | Supports | Verified October 29, 2026: at each of the 7,761 focus stops in the keyboard walk (77 surfaces, desktop and phone widths), the focused element was measured against sticky and fixed content. No focused element was entirely hidden on any page. A small number of elements (25 stops) were covered in part, at most 19 percent, by badges, diagram labels, or the edge of the fixed chat button; the element and its focus indicator stayed visible in every case. |
| 2.5.7 Dragging Movements | Supports | Verified October 29, 2026: a complete inventory of pointer interactions across the site found no dragging interactions at all. There are no draggable elements, no drag and drop handlers, and no drag libraries in the product. The pointer operated controls that do exist (the media seek control and the audio player slider) are native controls that also work with a single click or tap and with the keyboard. |
| 2.5.8 Target Size (Minimum) | Supports | Every interactive target on the home page, the five scanner pages, the contact page, the AI agents page, the pricing page, and the blog index was measured by script on October 29, 2026 (880 targets at desktop width, plus mobile width and opened accordion states). Every target either measures at least 24 by 24 CSS pixels or satisfies the spacing exception in the criterion: no undersized target's 24 pixel circle intersects another target. Form controls measure 40 pixels tall or more. |
| 3.1.2 Language of Parts | Not Applicable | Site content is published in English; no passages appear in a different language. |
| 3.2.3 Consistent Navigation | Supports | Header and footer navigation appear in the same relative order on every page. |
| 3.2.4 Consistent Identification | Supports | Verified October 29, 2026: an inventory of the site's forms and shared components found one inconsistency, now corrected: the five scanner forms gave their submit action three different names ('Check score', 'Run scan', 'Get My Score') and three different loading labels; all five now use 'Get My Score' and 'Scanning…', and their empty address error reads identically. Everything else already renders from shared components with one name each: the password visibility toggle ('Show password', 'Hide password'), the footer subscribe form, and the scanner navigation strip are identical on every page. |
| 3.3.3 Error Suggestion | Supports | Verified October 29, 2026: wherever a correction is known, the error text gives it. Email errors on the contact form and the newsletter signup show the expected format with an example, all five scanner forms share one correction for a missing address ('Enter a website address, like example.com.'), and the password fields state the minimum length up front. Sign in credential errors carry no suggestion, because which part is wrong is not disclosed by design. |
| 3.3.4 Error Prevention (Legal, Financial, Data) | Not Applicable | The public website offers no legal commitments, financial transactions, or user data management functions of the kind this criterion covers. |
| 3.3.8 Accessible Authentication (Minimum) | Supports | Sign in asks for an email and password only; no one has to pass a test of any kind to get in. An authentication review completed October 29, 2026 at the code level confirmed email and password sign in with correct current-password and new-password autocomplete, pasting never blocked, a show password toggle, an email reset link for recovery, and no CAPTCHA, puzzle, code transcription, or object recognition anywhere in the flow, so password managers work unimpeded (the mechanism the standard allows). The two checks that review could not see from the code were completed on October 30, 2026: the authentication provider console shows its CAPTCHA protection setting switched off, with no provider configured and nothing changed, and a live walkthrough of the sign in pages found no challenge anywhere, with pasting into the password field allowed. The sign in page and the portal page carry the same autocomplete pattern in source (email, current-password for sign in, new-password for sign up). |
| 4.1.3 Status Messages | Supports | Verified October 29, 2026: every status change in the site's form flows was inventoried. Scanner progress and results on the AEO/SEO and accessibility scanners render inside aria-live regions; on the cybersecurity, social media, and CX scanners the results view takes focus on its heading when it replaces the form, and form errors everywhere use alert regions. Two confirmation states previously replaced their form with no live region (the contact form success state and the sign in 'check your inbox' state); both now use role=status, joining the newsletter states that already did. |
This report is reviewed as the evaluation program advances, and a new edition is published when ratings change. If you encounter any barrier while using this site, tell us through the contact form and we will treat it as a priority alert, as our accessibility statement commits.