Accessibility
ParksPilot is built for every resident, including people who use screen readers, keyboards, magnification, or voice control. The product is designed and built to conform to the Web Content Accessibility Guidelines (WCAG) 2.1 Level AA, the standard the Department of Justice's 2024 rule under Title II of the Americans with Disabilities Act requires of state and local government web services.
If you encounter an accessibility barrier anywhere in ParksPilot, tell us at parks@parkspilot.com. Reports go directly to the people who build the product, and fixing them is treated as priority work.
Accessibility Conformance Report
Based on ITI VPAT® Version 2.5, WCAG edition. Report date August 2026, covering the production release of August 19, 2026. Prepared by Kahnputers LLC as a self-assessment.
Evaluation methods
Automated audit with axe-core 4.10 running the WCAG 2.0 and 2.1 Level A and AA rulesets against the production application on ten representative pages, including the availability calendar in its populated state, the booking form, the payment page, resident lookup, the permit application, and the staff portal. Manual inspection of keyboard operation, focus order and visibility, the skip link, ARIA grid semantics, live region announcements, image text alternatives, document language, and form autocomplete metadata. The audit found one defect, a low-contrast legend marker, which was corrected and redeployed the same day; the tables below reflect the product after that correction.
Payment card fields are rendered by Stripe inside the checkout page. That component is developed and documented by Stripe, which publishes its own accessibility conformance information; it is outside the scope of this report.
Terms
Supports: the product has at least one method that meets the criterion without known defects. Not Applicable: the criterion is not relevant to the product. Partially Supports and Does Not Support would be used where applicable; no criteria currently carry those ratings.
Table 1: WCAG 2.1 Level A success criteria
| Criteria | Conformance | Remarks and explanations |
|---|---|---|
| 1.1.1 Non-text Content | Supports | All informative images carry text alternatives; decorative marks are hidden from assistive technology. |
| 1.2.1 Audio-only and Video-only (Prerecorded) | Not Applicable | The product contains no audio or video content. |
| 1.2.2 Captions (Prerecorded) | Not Applicable | No prerecorded media. |
| 1.2.3 Audio Description or Media Alternative (Prerecorded) | Not Applicable | No prerecorded media. |
| 1.3.1 Info and Relationships | Supports | Semantic headings, lists, and labeled form fields throughout; the availability calendar is a native ARIA grid with per-day labels. |
| 1.3.2 Meaningful Sequence | Supports | Reading and focus order follow the visual order. |
| 1.3.3 Sensory Characteristics | Supports | Instructions never rely on shape, size, or position alone. |
| 1.4.1 Use of Color | Supports | Availability states pair color with text and markers; status is never conveyed by color alone. |
| 1.4.2 Audio Control | Not Applicable | No audio plays. |
| 2.1.1 Keyboard | Supports | The full resident flow and staff portal operate by keyboard, including the availability calendar. |
| 2.1.2 No Keyboard Trap | Supports | No traps; dialogs return focus on close. |
| 2.1.4 Character Key Shortcuts | Not Applicable | No single-character shortcuts are defined. |
| 2.2.1 Timing Adjustable | Supports | The interface imposes no time limits. Reservation holds pending payment are a server-side business rule communicated on screen. |
| 2.2.2 Pause, Stop, Hide | Not Applicable | No moving, blinking, or auto-updating content. |
| 2.3.1 Three Flashes or Below Threshold | Supports | Nothing flashes. |
| 2.4.1 Bypass Blocks | Supports | A skip link is the first focusable element on every page. |
| 2.4.2 Page Titled | Supports | Pages carry descriptive titles including the city name. |
| 2.4.3 Focus Order | Supports | Focus order matches the task order. |
| 2.4.4 Link Purpose (In Context) | Supports | Link text describes its destination in context. |
| 2.5.1 Pointer Gestures | Supports | All interaction is single-pointer; no path-based gestures. |
| 2.5.2 Pointer Cancellation | Supports | Standard activation on pointer release. |
| 2.5.3 Label in Name | Supports | Accessible names contain the visible label text. |
| 2.5.4 Motion Actuation | Not Applicable | No motion-based input. |
| 3.1.1 Language of Page | Supports | The document language is declared. |
| 3.2.1 On Focus | Supports | Receiving focus never changes context. |
| 3.2.2 On Input | Supports | Changing a setting never changes context without an explicit action. |
| 3.3.1 Error Identification | Supports | Form errors are described in text and announced through an alert region that receives focus. |
| 3.3.2 Labels or Instructions | Supports | Every input has a visible label; required fields are marked and helper text explains expectations. |
| 4.1.1 Parsing | Supports | Markup is free of duplicate-attribute and nesting defects. |
| 4.1.2 Name, Role, Value | Supports | Interactive elements are native controls or carry complete ARIA semantics; verified by automated audit. |
Table 2: WCAG 2.1 Level AA success criteria
| Criteria | Conformance | Remarks and explanations |
|---|---|---|
| 1.2.4 Captions (Live) | Not Applicable | No live media. |
| 1.2.5 Audio Description (Prerecorded) | Not Applicable | No prerecorded media. |
| 1.3.4 Orientation | Supports | The layout is responsive and works in any orientation; nothing is locked. |
| 1.3.5 Identify Input Purpose | Supports | Personal-data fields carry HTML autocomplete tokens across booking, permits, and lookup. |
| 1.4.3 Contrast (Minimum) | Supports | Audited with axe-core across the product. One legend marker below threshold was found in the August 2026 audit and corrected the same day. |
| 1.4.4 Resize Text | Supports | Text scales to 200 percent without loss of content or function. |
| 1.4.5 Images of Text | Supports | No images of text are used; logos are exempt. |
| 1.4.10 Reflow | Supports | The layout reflows to a 320 CSS pixel viewport without two-dimensional scrolling; wide tables scroll within their own region. |
| 1.4.11 Non-text Contrast | Supports | Focus indicators and control boundaries meet 3:1 against adjacent colors. |
| 1.4.12 Text Spacing | Supports | No fixed-height text containers; spacing overrides do not clip content. |
| 1.4.13 Content on Hover or Focus | Not Applicable | No content appears on hover or focus. |
| 2.4.5 Multiple Ways | Supports | Pages are reachable through the persistent navigation and through listing pages. |
| 2.4.6 Headings and Labels | Supports | Headings and labels describe their sections. |
| 2.4.7 Focus Visible | Supports | A two-pixel high-contrast focus ring is applied globally and never removed. |
| 3.1.2 Language of Parts | Not Applicable | Content is in a single language. |
| 3.2.3 Consistent Navigation | Supports | Navigation is identical across pages within each portal. |
| 3.2.4 Consistent Identification | Supports | Components with the same function are identified consistently. |
| 3.3.3 Error Suggestion | Supports | Validation messages state what to correct. |
| 3.3.4 Error Prevention (Legal, Financial, Data) | Supports | Payment follows a reviewable summary and a deliberate confirmation action; reservations can be looked up and cancelled online within the posted window. |
| 4.1.3 Status Messages | Supports | Dynamic status is announced through alert and live regions without moving focus. |
This report is a self-assessment prepared by Kahnputers LLC on the basis of the evaluation methods described above. It reflects the product as of the report date; the product is under active development, and material changes are re-evaluated against the same rulesets before release.