Accessibility Conformance Report
WCAG 2.1 Level A & AA Conformance — Kids2Dentist
Formal conformance assessment of the Kids2Dentist website against the Web Content Accessibility Guidelines (WCAG) 2.1 at Levels A and AA, including scope, methodology, per-criterion results, known limitations, and audit history.
Report date: April 17, 2026 · Report language: English (technical/legal document).
1. Report metadata
- Product: Kids2Dentist website (kids2dentist.com)
- Report date: April 17, 2026
- Product version evaluated: Git revision deployed on or after April 17, 2026.
- Evaluator: Spread Energy / Candelario Web Agent — internal self-assessment supplemented by third-party automated scanning (Breakout Website ADA Accessibility, April 17, 2026).
- Contact: accessibility@kids2dentist.com · 1-833-K2D-CARES (1-833-523-2273)
2. Standards evaluated
- Web Content Accessibility Guidelines (WCAG) 2.1, Levels A and AA — W3C Recommendation, June 5, 2018.
- Section 508 (U.S. federal) — the Revised 508 Standards reference WCAG 2.0 A + AA; Kids2Dentist voluntarily targets WCAG 2.1 A + AA (superset).
- Americans with Disabilities Act (ADA) Title III — applicable to private places of public accommodation. WCAG 2.1 AA is the de facto legal standard under Title III.
3. Conformance claim
Kids2Dentist partially conformswith WCAG 2.1 Level AA. "Partially conforms" means that some content does not fully meet the accessibility standard — specifically, third-party embedded content (YouTube video player, Google Maps embeds) and a photo gallery lightbox whose screen reader workflow has known gaps. All first-party content (layout, navigation, forms, typography, color, landmarks, headings, interactive components) meets WCAG 2.1 AA.
4. Scope
All public-facing pages served from kids2dentist.com under the /en/, /es/, and /tl/ locale routes, including homepage, services, team, locations, parents, contact, careers, reviews, gallery, financial assistance, provider referral, privacy, and accessibility pages. The booking flow and the contact API endpoint are also in scope.
Excludes third-party platforms linked from the site (Pipedrive booking on certain clinic pages, Google Maps, YouTube, social media), which are governed by their own vendors' accessibility statements.
5. Evaluation methodology
- Automated scanning: Breakout Website ADA Accessibility scanner (April 17, 2026) — 96/100, 0 errors, 2 warnings, 1 notice.
- Manual code review of semantic HTML, ARIA use, focus management, and keyboard operability.
- Manual contrast verification of brand color pairings against WebAIM Contrast Checker.
- Source of truth: project repository on GitHub, maintained under version control.
6. Baseline technology
- Browsers tested: latest two stable versions of Chromium (Chrome/Edge), Firefox, and WebKit (Safari).
- Assistive technologies supported: modern screen readers (NVDA, JAWS, VoiceOver), browser zoom up to 200%, OS-level text scaling, keyboard-only navigation, reduced-motion OS preferences.
- Platform: Next.js 16 / React 19, server-rendered with progressive enhancement; no client-side framework is required to read content.
7. Results — WCAG 2.1 Level A
| SC | Criterion | Conformance | Remarks |
|---|---|---|---|
| 1.1.1 | Non-text Content | Supports | All meaningful images have descriptive alt text; decorative images use alt=""; the hero background video is marked aria-hidden="true". |
| 1.2.1 | Audio-only and Video-only (Prerecorded) | Not Applicable | No audio-only content. The only prerecorded video is a silent decorative hero background (no audio track, no dialogue, no meaningful information); it carries no information requiring a text alternative. |
| 1.2.2 | Captions (Prerecorded) | Not Applicable | The decorative hero video has no audio content; WCAG 1.2.2 applies to synchronized media with audio. Embedded YouTube videos are controlled by the YouTube player, which offers its own caption controls. |
| 1.2.3 | Audio Description or Media Alternative (Prerecorded) | Partially Supports | Hero video is decorative — no alternative required. Embedded third-party YouTube content may not always have audio description; content selected for embed is chosen to be understandable from visuals alone. See Known Limitations. |
| 1.3.1 | Info and Relationships | Supports | Semantic HTML5 landmarks (header, nav, main, footer); headings follow logical hierarchy (h1 → h2 → h3) with no skips after the April 17, 2026 fix; form labels programmatically associated. |
| 1.3.2 | Meaningful Sequence | Supports | DOM order matches visual order on all pages. No CSS reordering that would desynchronize reading order. |
| 1.3.3 | Sensory Characteristics | Supports | Instructions do not rely solely on shape, color, location, or sound. Form validation and CTAs use explicit text. |
| 1.4.1 | Use of Color | Supports | Color is never the sole means of conveying information. Error states combine color with iconography and text. |
| 1.4.2 | Audio Control | Not Applicable | No audio auto-plays on any page (hero video is muted). |
| 2.1.1 | Keyboard | Supports | All interactive elements (links, buttons, form fields, dropdowns, menus, drawers, accordions) are operable via keyboard. See Known Limitations for third-party embeds. |
| 2.1.2 | No Keyboard Trap | Supports | Focus can always be moved away from any component via Tab/Shift+Tab; drawers and modals use proper focus management with Escape key to close. |
| 2.1.4 | Character Key Shortcuts | Not Applicable | No single-character keyboard shortcuts are implemented. |
| 2.2.1 | Timing Adjustable | Not Applicable | No time limits are imposed on any user interaction. |
| 2.2.2 | Pause, Stop, Hide | Supports | The only auto-starting motion content (decorative hero video) can be hidden via the Seizure-Safe accessibility profile, which renders video elements invisible and non-animated across the site. |
| 2.3.1 | Three Flashes or Below Threshold | Supports | No content flashes more than three times per second. Hero video is a slow-motion office tour with no strobing. |
| 2.4.1 | Bypass Blocks | Supports | Skip-to-content link is available on every page via keyboard focus. |
| 2.4.2 | Page Titled | Supports | Every route defines a descriptive <title> via Next.js generateMetadata. |
| 2.4.3 | Focus Order | Supports | Tab order follows visual and reading order; modal/drawer components trap and restore focus correctly. |
| 2.4.4 | Link Purpose (In Context) | Supports | Link text is descriptive; ambiguous links (icons) use aria-label. |
| 2.5.1 | Pointer Gestures | Not Applicable | No multi-point or path-based gestures are required for any function. |
| 2.5.2 | Pointer Cancellation | Supports | All pointer-activated controls use click/up events that can be cancelled by moving off the target before release. |
| 2.5.3 | Label in Name | Supports | Accessible names of interactive elements contain their visible text labels. |
| 2.5.4 | Motion Actuation | Not Applicable | No functionality depends on device motion or user motion. |
| 3.1.1 | Language of Page | Supports | html lang="en" / "es" / "tl" set per locale via Next.js root layout. |
| 3.2.1 | On Focus | Supports | Focusing an element never triggers a context change. |
| 3.2.2 | On Input | Supports | Changing a form input value never triggers a context change; form submission is explicit. |
| 3.3.1 | Error Identification | Supports | Form validation errors are identified in text and visually associated with the relevant field (Zod + client-side feedback). |
| 3.3.2 | Labels or Instructions | Supports | All form fields have visible labels and, where needed, placeholder/help text. |
| 4.1.1 | Parsing | Supports | HTML passes validation; IDs are unique per the Breakout audit. Note: WCAG 2.2 deprecates this criterion, but it is retained here for 2.1 completeness. |
| 4.1.2 | Name, Role, Value | Supports | Native HTML elements used throughout; ARIA used only to supplement semantics (aria-label on icon buttons, aria-expanded on disclosure components). |
8. Results — WCAG 2.1 Level AA
| SC | Criterion | Conformance | Remarks |
|---|---|---|---|
| 1.2.4 | Captions (Live) | Not Applicable | No live media is streamed. |
| 1.2.5 | Audio Description (Prerecorded) | Partially Supports | First-party prerecorded video is silent and decorative. Embedded third-party YouTube videos may not all have audio description; see Known Limitations. |
| 1.3.4 | Orientation | Supports | Layout adapts fluidly to portrait and landscape orientation; no orientation lock. |
| 1.3.5 | Identify Input Purpose | Supports | Form fields collecting user info use appropriate autocomplete attributes (name, tel, email). |
| 1.4.3 | Contrast (Minimum) | Supports | All text meets 4.5:1 for normal text and 3:1 for large text. Brand pairings verified via WebAIM Contrast Checker. The Breakout scanner flagged one "Notice" for manual verification; the same report passed the "Proper color contrast standards" test. |
| 1.4.4 | Resize Text | Supports | Browser zoom is not disabled; text scales to 200% without loss of content or functionality. Built-in widget additionally scales text to 150%. |
| 1.4.5 | Images of Text | Supports | Text is rendered as actual text, not images. The logo is the only image of text (permitted for branding). |
| 1.4.10 | Reflow | Supports | Content reflows at 320 CSS pixels width without requiring two-dimensional scrolling. |
| 1.4.11 | Non-text Contrast | Supports | UI component boundaries and states (focus rings, buttons, form borders) meet 3:1 contrast against adjacent colors. |
| 1.4.12 | Text Spacing | Supports | No content is lost when line-height is 1.5×, paragraph spacing 2×, letter spacing 0.12em, word spacing 0.16em. |
| 1.4.13 | Content on Hover or Focus | Supports | Hover/focus-triggered content (tooltips, dropdowns) is dismissible (Escape), hoverable, and persistent. |
| 2.4.5 | Multiple Ways | Supports | Pages can be reached via main navigation, footer navigation, in-page links, and XML sitemap (/sitemap.xml). |
| 2.4.6 | Headings and Labels | Supports | Headings and labels describe the topic or purpose of their section. |
| 2.4.7 | Focus Visible | Supports | All focusable elements show a visible focus indicator; the Keyboard Navigation profile enhances this with a 4px CTA-colored outline. |
| 3.1.2 | Language of Parts | Supports | Inline language switches (e.g., proper nouns in another language within Spanish or Tagalog pages) are infrequent and clearly contextualized. |
| 3.2.3 | Consistent Navigation | Supports | Header, footer, and sidebar navigation appear in the same relative order on every page. |
| 3.2.4 | Consistent Identification | Supports | Components with the same function (booking CTAs, phone numbers, social icons) use consistent labels and identifiers. |
| 3.3.3 | Error Suggestion | Supports | When input errors are detected and suggestions are known, they are offered (e.g., "Please enter a valid email address"). |
| 3.3.4 | Error Prevention (Legal, Financial, Data) | Not Applicable | The website collects appointment requests and contact messages; these are not binding legal or financial transactions. All appointment requests are confirmed by the practice before being finalized, and users can cancel or modify at any time. |
| 4.1.3 | Status Messages | Supports | Status messages (form success, validation errors, live regions) use appropriate ARIA live regions where native semantics do not suffice. |
9. Known limitations and remediation plan
- Photo gallery lightbox — screen reader workflow not fully optimized. Affects SC 2.1.1 and 4.1.2. Remediation: scheduled rebuild with a WAI-ARIA-compliant dialog pattern. Target: Q2 2026.
- Embedded YouTube videos — accessibility depends on the YouTube player, which is outside our direct control. YouTube offers captions and keyboard controls for most content. Remediation: video selection for embeds prioritizes content with existing captions.
- Google Maps embeds (clinic location pages) — map interactions may have limited screen reader support. Clinic addresses, hours, and phone numbers are always provided as plain text adjacent to the map. Remediation: no action; map is supplementary.
- Intentional exemption — decorative hero video — silent, muted, looped background video on the homepage is not captioned because it carries no audio content. Marked
aria-hidden="true"and hidden by the Seizure-Safe profile. Not a conformance gap; documented here for transparency.
10. Feedback and contact channels
Users encountering accessibility barriers should contact us at accessibility@kids2dentist.com (monitored; responded to within 2 U.S. business days) or by phone at 1-833-K2D-CARES (1-833-523-2273).
11. Audit history
| Date | Type | Outcome |
|---|---|---|
| April 17, 2026 | Third-party automated scan (Breakout) | 96/100 — 0 errors, 2 warnings (1 remediated, 1 documented as exempt), 1 notice (verified passing). |
| April 17, 2026 | Remediation deploy | Footer heading levels normalized (h4 → h3) to eliminate the WCAG 1.3.1 warning. Hero video marked aria-hidden and hidden under Seizure-Safe profile. |
| April 2025 | Initial internal self-assessment | Accessibility Statement v1 published; built-in accessibility widget shipped with six profiles (seizure-safe, vision-impaired, ADHD-friendly, dyslexia-friendly, keyboard-navigation, text size). |
12. Statement authority
This Accessibility Conformance Report represents a good-faith self-assessment by Spread Energy / Candelario Web Agent, supplemented by third-party automated scanning, of the Kids2Dentist website as of the report date above. It is maintained under version control and is updated at least annually or following significant site changes.
This report follows the general structure of the W3C Accessibility Conformance Report and is compatible with VPAT 2.4 Rev INT reporting conventions. A formal VPAT document can be generated on request by mapping these findings into the ITI-published VPAT 2.4 template.