Accessibility Conformance Report
VPAT 2.4 Edition — WCAG 2.1 Level A & AA, Revised Section 508
Product Information
- Product
- Prequire v1
- Report Date
- March 2026
- Description
- Grant proposal compliance verification tool. Users submit solicitation URLs, extract requirements via AI, upload draft proposals, and receive auditable evidence reports.
- Contact
- ngoldbla@kennesaw.edu
- Evaluation Methods
- Manual source code review, keyboard navigation audit, ARIA attribute verification, color contrast analysis
WCAG 2.1 Level A
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.1.1 Non-text Content | Supports | All SVG icons include aria-hidden with adjacent text labels or explicit aria-label attributes. Page images use descriptive alt text. |
| 1.2.1 Audio-only / Video-only | Not Applicable | No audio or video content. |
| 1.2.2 Captions (Prerecorded) | Not Applicable | No audio or video content. |
| 1.2.3 Audio Description or Media Alternative | Not Applicable | No audio or video content. |
| 1.3.1 Info and Relationships | Supports | Semantic HTML throughout: <main> landmark, <form> wrappers, heading hierarchy (h1–h3), <section> groups, <label> elements associated with all inputs, <button> for all controls. |
| 1.3.2 Meaningful Sequence | Supports | DOM order matches visual reading order. CSS layouts do not reorder content. |
| 1.3.3 Sensory Characteristics | Supports | No instructions rely solely on shape, size, or visual location. |
| 1.4.1 Use of Color | Supports | Status indicators use icons and text labels alongside color. Priority levels include text labels. Error states use text descriptions. |
| 1.4.2 Audio Control | Not Applicable | No audio content. |
| 2.1.1 Keyboard | Supports | All interactive elements reachable via Tab. Forms submit via Enter. Collapsibles toggle via Enter/Space. |
| 2.1.2 No Keyboard Trap | Supports | Focus can always move away from every component. The Fix Wizard modal traps focus correctly and releases on Escape. |
| 2.1.4 Character Key Shortcuts | Not Applicable | No single-character keyboard shortcuts. |
| 2.2.1 Timing Adjustable | Supports | No session timeouts or time-limited interactions. |
| 2.2.2 Pause, Stop, Hide | Supports | Only animation is loading spinners which stop automatically on completion. |
| 2.3.1 Three Flashes | Supports | No content flashes more than three times per second. |
| 2.4.1 Bypass Blocks | Supports | Skip-to-main-content link is the first focusable element, targeting <main id="main-content">. |
| 2.4.2 Page Titled | Supports | Descriptive <title> set via Next.js metadata on each route. |
| 2.4.3 Focus Order | Supports | Tab order follows logical reading order. No tabindex > 0. |
| 2.4.4 Link Purpose | Supports | All links have descriptive text. No bare “click here” links. |
| 2.5.1 Pointer Gestures | Supports | No multi-point or path-based gestures required. |
| 2.5.2 Pointer Cancellation | Supports | Standard click events via React’s onClick (mouseup semantics). |
| 2.5.3 Label in Name | Supports | Visible labels match accessible names. Icon-only buttons have descriptive aria-label. |
| 2.5.4 Motion Actuation | Not Applicable | No motion-based interactions. |
| 3.1.1 Language of Page | Supports | <html lang="en"> is set in the root layout. |
| 3.2.1 On Focus | Supports | No context changes occur on focus. |
| 3.2.2 On Input | Supports | Filter dropdowns update displayed content without navigating. |
| 3.3.1 Error Identification | Supports | Error messages displayed in text, linked to inputs via aria-describedby. Inputs marked aria-invalid when errors present. |
| 3.3.2 Labels or Instructions | Supports | All form inputs have associated <label> elements. Required fields marked with aria-required. |
| 4.1.2 Name, Role, Value | Supports | Collapsibles use aria-expanded, tabs use role="tablist"/"tab"/"tabpanel" with aria-selected, the Fix Wizard uses role="dialog" with aria-modal and aria-labelledby, toggles use aria-pressed. |
WCAG 2.1 Level AA
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 1.2.4 Captions (Live) | Not Applicable | No live audio or video. |
| 1.2.5 Audio Description | Not Applicable | No prerecorded video. |
| 1.3.4 Orientation | Supports | No viewport orientation lock. |
| 1.3.5 Identify Input Purpose | Partially Supports | URL input uses inputMode="url" but no autocomplete attribute (solicitation URLs are not a standard autocomplete field). |
| 1.4.3 Contrast (Minimum) | Supports | Light mode foreground/background achieves >12:1. Dark mode achieves >11:1. Muted tokens maintain >4.5:1. |
| 1.4.4 Resize Text | Supports | Font sizes use rem via Tailwind. Content functional at 200% zoom. |
| 1.4.5 Images of Text | Supports | No images of text. All text rendered as live HTML. |
| 1.4.10 Reflow | Supports | Responsive layouts: split pane (≥1280px), tabs (768–1279px), single-column (<768px). No horizontal scroll at 320px. |
| 1.4.11 Non-text Contrast | Supports | Buttons, inputs, and status icons achieve ≥3:1 against adjacent areas. |
| 1.4.12 Text Spacing | Supports | No !important on text spacing properties. Flexible containers accommodate overrides. |
| 1.4.13 Content on Hover/Focus | Supports | Only native browser tooltips (title attributes), which are dismissible and persistent. |
| 2.4.7 Focus Visible | Supports | Global :focus-visible style with 2px solid outline using theme ring color with 2px offset. |
| 2.5.8 Target Size (Minimum) | Partially Supports | Most targets meet 24×24px minimum. Some filter tabs may be smaller at narrow viewports; spacing compensates. |
| 3.3.4 Error Prevention | Not Applicable | No legal, financial, or data-deletion transactions. |
| 4.1.3 Status Messages | Supports | Upload progress uses role="status" with aria-live="polite". Error messages use role="alert". Verification progress wrapped in aria-live. |
Section 508 — Chapter 3: Functional Performance
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 302.1 Without Vision | Supports | All content accessible via screen readers. Accessible names, roles, states, and live regions throughout. |
| 302.2 With Limited Vision | Supports | Scales to 200%, high-contrast tokens, clear focus indicators, responsive layout. |
| 302.3 Without Perception of Color | Supports | Status conveyed through icons and text in addition to color. |
| 302.4 Without Hearing | Not Applicable | No audio content. |
| 302.5 With Limited Hearing | Not Applicable | No audio content. |
| 302.6 Without Speech | Not Applicable | No speech input required. |
| 302.7 With Limited Manipulation | Supports | Fully keyboard-operable via Tab, Enter, Space, Escape. |
| 302.8 With Limited Reach and Strength | Not Applicable | Web application — not applicable. |
| 302.9 With Limited Language/Cognitive | Supports | Consistent navigation, clear labels, linear workflow, plain-language error messages. |
Section 508 — Chapters 4 & 5
Chapter 4 (Hardware): Not Applicable — Prequire is a web application and does not include hardware components.
Chapter 5 (Software): Not Applicable — Prequire is accessed through standard web browsers and is not native platform software.
Section 508 — Chapter 6: Support Documentation
| Criteria | Conformance Level | Remarks and Explanations |
|---|---|---|
| 602.2 Accessibility Features | Partially Supports | This ACR serves as the primary accessibility documentation. No dedicated accessibility help page yet. |
| 602.3 Electronic Support Docs | Supports | All documentation is in accessible web and Markdown formats. |
| 602.4 Alternate Formats | Not Applicable | No printed documentation. |
| 603.2 Feature Information | Partially Supports | Support staff have access to this ACR but no dedicated training materials. |
| 603.3 Communication Accommodation | Supports | Support available through web-based channels compatible with assistive technologies. |
This report covers the accessibility conformance of Prequire as evaluated on the report date. Conformance may change as the product is updated. This document is informational and does not constitute a legal guarantee.
Generated using VPAT 2.4 template. VPAT is a registered trademark of the Information Technology Industry Council (ITI).