{
  "standard": "VPAT",
  "title": "Novak LMS\u2122 VPAT 2.5 (WCAG 2.1 Level AA & Revised Section 508) Accessibility Conformance Report",
  "platform": "Novak LMS\u2122",
  "url": "https://novak-lms.onrender.com/compliance",
  "generated_at": "2026-10-27T08:04:54Z",
  "contact": "novakornothing@gmail.com",
  "audit_verification": {
    "verified": true,
    "events_count": 15
  },
  "controls_count": 17,
  "controls": [
    {
      "code": "1.1.1",
      "name": "Non-text Content",
      "level": "A",
      "status": "Supports",
      "remarks": "All 115 inline lesson SVG architecture blueprints, 10 multi-layer SVG diagrams, and 36 PBQ Workbench topologies include descriptive role=\"img\", aria-label, title/caption text, and accompanying HTML technical specification tables."
    },
    {
      "code": "1.2.1\u20131.2.5",
      "name": "Time-based Media & Audio Narration",
      "level": "A / AA",
      "status": "Supports",
      "remarks": "Built-in neural and local browser text-to-speech narration highlights synchronized words (.tts-word) directly against the complete written lesson text transcript."
    },
    {
      "code": "1.3.1",
      "name": "Info and Relationships",
      "level": "A",
      "status": "Supports",
      "remarks": "Semantic HTML5 landmarks (<header>, <nav>, <main>, <aside>, <section>, <footer>), <fieldset>/<legend> question stems, explicit <label for=\"...\"> associations, and scope=\"col\"/scope=\"row\" table headers."
    },
    {
      "code": "1.3.2",
      "name": "Meaningful Sequence",
      "level": "A",
      "status": "Supports",
      "remarks": "DOM reading order matches visual layout across lessons, 4-rung adaptive ladders (R0\u2013R4), Split-Pane PBQ Workbenches, and mobile responsive stacked tables."
    },
    {
      "code": "1.3.3",
      "name": "Sensory Characteristics",
      "level": "A",
      "status": "Supports",
      "remarks": "Instructions and status indicators never rely solely on shape, size, or visual location; all PBQ nodes, mastery cells, and section steppers include explicit text badges and ARIA labels."
    },
    {
      "code": "1.3.4\u20131.3.5",
      "name": "Orientation & Identify Input Purpose",
      "level": "AA",
      "status": "Supports",
      "remarks": "Supports portrait and landscape orientations from 320px phones to widescreen desktops; authentication and onboarding forms provide standard autocomplete attributes."
    },
    {
      "code": "1.4.1",
      "name": "Use of Color",
      "level": "A",
      "status": "Supports",
      "remarks": "Mastery heatmaps, exam review grids, and PBQ configuration badges pair color with text symbols (\u2713, \u25cf, \u25cb, S flag) and screen-reader status strings."
    },
    {
      "code": "1.4.3",
      "name": "Contrast (Minimum \u2014 4.5:1)",
      "level": "AA",
      "status": "Supports",
      "remarks": "Verified via automated axe-core WCAG 2.1 AA sweeps across both Light Mode (#0f172a ink on #ffffff/#f8fafc surfaces) and Dark Mode (#f8fafc ink on #070d19/#0f172a surfaces), including search inputs and AI Tutor textareas."
    },
    {
      "code": "1.4.4 & 1.4.10",
      "name": "Resize Text (200%) & Reflow (320 CSS px)",
      "level": "AA",
      "status": "Supports",
      "remarks": "Responsive fluid typography and responsive table wrappers (.ui-table-wrap, table.table-stack) reflow cleanly at 200% zoom and 320px viewport width without horizontal page scrolling."
    },
    {
      "code": "1.4.11\u20131.4.13",
      "name": "Non-text Contrast, Text Spacing & Hover/Focus Content",
      "level": "AA",
      "status": "Supports",
      "remarks": "UI controls, form borders, SVG diagram nodes, and focus rings maintain >= 3:1 contrast; Escape dismisses drawers, modals, and live search popovers."
    },
    {
      "code": "2.1.1 & 2.1.2",
      "name": "Keyboard & No Keyboard Trap",
      "level": "A",
      "status": "Supports",
      "remarks": "100% keyboard operable across lessons, 4-rung ladders, Exam-Sim shortcuts (\u2190/\u2192, 1\u20136, F, W), Speed-Drill flashcards, Split-Pane PBQ SVG nodes (Tab/Enter/Space), and CLI consoles."
    },
    {
      "code": "2.2.1 & 2.2.2",
      "name": "Timing Adjustable (ADA Exam Accommodations)",
      "level": "A",
      "status": "Supports",
      "remarks": "Instructors and administrators can grant per-student ADA time accommodations (1.25x, 1.5x, 2.0x) on Knowledge Tests and Exam-Day Simulator sittings, plus practice-mode server-side pause."
    },
    {
      "code": "2.3.1",
      "name": "Three Flashes or Below Threshold",
      "level": "A",
      "status": "Supports",
      "remarks": "Zero flashing content; strictly honors @media (prefers-reduced-motion: reduce) across all CSS transitions and JavaScript animations."
    },
    {
      "code": "2.4.1\u20132.4.7",
      "name": "Navigable (Skip Links, Focus Order, Headings, Focus Visible)",
      "level": "A / AA",
      "status": "Supports",
      "remarks": "Every page begins with a visible-on-focus \"Skip to main content\" link; high-contrast 3px outline focus rings; persistent 1-click Curriculum Sidebar and Section Stepper pills."
    },
    {
      "code": "3.1.1\u20133.3.4",
      "name": "Readable, Predictable & Input Assistance",
      "level": "A / AA",
      "status": "Supports",
      "remarks": "Explicit lang=\"en\" attribute; inline accessible form validation with aria-invalid and aria-describedby error messages; non-destructive confirmation guards."
    },
    {
      "code": "4.1.1\u20134.1.3",
      "name": "Compatible & Status Messages (ARIA Live Regions)",
      "level": "A / AA",
      "status": "Supports",
      "remarks": "Dynamic updates in ladder checks, Exam-Sim timers/autosave, Speed-Drill feedback, PBQ CLI/Inspector outputs, and AI Tutor responses announce via role=\"status\" and aria-live=\"polite\"."
    },
    {
      "code": "Section 508 Ch. 3, 5 & 6",
      "name": "Functional Performance Criteria, Web Software & Support Docs",
      "level": "Revised 508",
      "status": "Supports",
      "remarks": "Full support for users without vision, with limited vision, without perception of color, without hearing, and with limited manipulation. Opt-in Helix webcam gaze tracking is 100% optional and never impacts grades."
    }
  ]
}