Skip to main content

Voluntary Product Accessibility Template (VPAT) 2.5

FlyFruition CMS — Accessibility Conformance Report

FieldValue
ProductFlyFruition CMS
Product DescriptionReal-time airport operations data platform: flight information display (FIDS), TSA security wait-time broadcasting, parking availability, terminal maps/POI, weather feeds, emergency overlays, and a unified search and admin dashboard. Delivers normalized data to public-facing airport websites, mobile applications, and digital signage.
Deployed Instances in Scopeflydenver.com (Denver International Airport), flyontario.com (Ontario International Airport)
Report DateAugust 11, 2026
Report Version1.0
VPAT Template Version2.5 (ITI — Information Technology Industry Council)
Conformance StandardsWCAG 2.1 Level AA, WCAG 2.2 Level AA, Section 508 (36 CFR §1194), EN 301 549 v3.2.1
Report PeriodReviewed annually; last review August 11, 2026. Next scheduled review August 2027.
Prepared ByFruition Accessibility Team
Contact[email protected] · (303) 395-1880

← Back to Fruition.net VPAT  |  View FlyFruition Accessibility Statement →

Executive Summary

This VPAT documents the accessibility conformance of the FlyFruition CMS — Fruition's airport-specific content management and real-time data platform — with the Web Content Accessibility Guidelines (WCAG) 2.1 Level AA, WCAG 2.2 Level AA, Section 508, and EN 301 549 standards. FlyFruition powers the public-facing websites and operational dashboards for multiple U.S. airports, including flydenver.com (Denver International Airport) and flyontario.com (Ontario International Airport).

The product surface in scope includes: (1) the public-facing airport websites rendered by FlyFruition, (2) the FlyFruition admin dashboard used by airport operations staff, and (3) the front-end rendering of real-time data modules (FIDS flight boards, TSA wait-time displays, parking availability, weather, and emergency overlays) as presented to end users on the web.

Fruition is committed to WCAG 2.1 Level AA and WCAG 2.2 Level AA conformance for all FlyFruition-deployed sites. Conformance is assessed through a combination of automated scanning (axe-core, WAVE, Pa11y) and manual testing (NVDA, JAWS, VoiceOver, keyboard-only navigation, and assistive-technology user testing). A detailed methodology is documented in the Testing Methodology section below.

Terms Used in This Document

TermDefinition
SupportsThe functionality of the product has at least one method that meets the criterion without known defects.
Partially SupportsSome functionality of the product meets the criterion, but some does not.
Does Not SupportThe majority of product functionality does not meet the criterion.
Not ApplicableThe criterion is not relevant to the product.
Not EvaluatedThe product has not been evaluated against the criterion. This can only be used in WCAG 2.2 Level AAA criteria not covered by this report.

WCAG 2.1 Level A & Level AA Conformance

The following tables document FlyFruition's conformance with WCAG 2.1 success criteria at Level A and Level AA.

Principle 1: Perceivable

Guideline 1.1 — Text Alternatives

CriterionLevelConformanceRemarks & Explanations
1.1.1 Non-text ContentASupportsAll informational images, icons, and data-visualization elements in FlyFruition public pages and the admin dashboard include appropriate alt text or accessible names. Decorative images use empty alt="". Flight-status and TSA wait-time icons use ARIA labels or visually-hidden text to convey status (e.g., "Delayed", "Standard lane"). FIDS board status indicators use both color and text labels to avoid color-only encoding.

Guideline 1.2 — Time-based Media

CriterionLevelConformanceRemarks & Explanations
1.2.1 Audio-only and Video-only (Prerecorded)ANot ApplicableFlyFruition public pages and the admin dashboard do not include prerecorded audio-only or video-only content.
1.2.2 Captions (Prerecorded)ASupportsAny embedded video content on FlyFruition-deployed sites includes synchronized captions. Airport promotional videos embedded via the CMS support caption tracks.
1.2.3 Audio Description or Media Alternative (Prerecorded)ASupportsPrerecorded video content includes audio description or a media alternative (transcript) where the video conveys information not available through the audio track.
1.2.4 Captions (Live)AANot ApplicableFlyFruition does not stream live audio or video content.
1.2.5 Audio Description (Prerecorded)AASupportsAudio description is provided for prerecorded video content where visual information is not conveyed by the audio.

Guideline 1.3 — Adaptable

CriterionLevelConformanceRemarks & Explanations
1.3.1 Info and RelationshipsASupportsSemantic HTML is used throughout FlyFruition pages: proper heading hierarchy, landmark elements (header, nav, main, footer), list semantics for navigation and FIDS entries, and ARIA where native semantics are insufficient. Form fields in the admin dashboard are associated with <label> elements. Data tables (flight schedules, parking rates) use <th> with scope attributes.
1.3.2 Meaningful SequenceASupportsDOM order follows the visual reading order on all FlyFruition pages. CSS is used for visual layout without reordering content in a way that breaks screen-reader navigation. Skip-navigation links are provided on all public pages.
1.3.3 Sensory CharacteristicsASupportsInstructions and status indicators do not rely on sensory characteristics (shape, size, visual location, orientation, or sound) alone. Flight status uses text labels alongside color. Navigation instructions reference text labels, not visual position.
1.3.4 OrientationAASupportsFlyFruition pages do not restrict orientation. Content is usable in both portrait and landscape on mobile devices.
1.3.5 Identify Input PurposeAASupportsForm inputs in the admin dashboard and public-facing forms use appropriate autocomplete attributes where the input purpose maps to a standard HTML autocomplete token.

Guideline 1.4 — Distinguishable

CriterionLevelConformanceRemarks & Explanations
1.4.1 Use of ColorASupportsColor is not used as the sole means of conveying information. Flight status (on-time, delayed, cancelled) uses text labels and icons in addition to color. TSA wait-time urgency levels use text. Error states in the admin dashboard include text messages, not just red highlighting.
1.4.2 Audio ControlANot ApplicableFlyFruition does not auto-play audio lasting more than 3 seconds.
1.4.3 Contrast (Minimum)AASupportsText and interactive elements meet the 4.5:1 contrast ratio (3:1 for large text and UI components). The FlyFruition design system uses verified AA-compliant color tokens. Contrast is validated during the build process with automated tooling.
1.4.4 Resize TextAASupportsText can be resized up to 200% without loss of content or functionality. FlyFruition uses relative units (rem, %) and responsive layouts. FIDS boards and data displays reflow at larger text sizes without clipping.
1.4.5 Images of TextAASupportsImages of text are avoided. Text is rendered as actual HTML text. Airport logos are images but are labeled with accessible names. Where text must be in an image (e.g., a sponsor logo), an accessible name is provided.
1.4.10 ReflowAASupportsContent reflows to a single column at 320 CSS pixels wide without horizontal scrolling. Responsive breakpoints handle mobile, tablet, and desktop layouts. FIDS tables switch to card layouts on small screens.
1.4.11 Non-text ContrastAASupportsUI components and graphical objects meet the 3:1 contrast ratio against adjacent colors. Focus indicators, form control borders, and icon borders meet the minimum contrast requirement.
1.4.12 Text SpacingAASupportsNo loss of content or functionality occurs when users override text spacing (line height, paragraph spacing, letter spacing, word spacing) via user stylesheets or browser settings.
1.4.13 Content on Hover or FocusAASupportsHover/focus-revealed content (tooltips, dropdown menus in the admin dashboard) can be dismissed (via Escape), is hoverable, and persists until dismissed or focus is moved away.

Principle 2: Operable

Guideline 2.1 — Keyboard Accessible

CriterionLevelConformanceRemarks & Explanations
2.1.1 KeyboardASupportsAll functionality on FlyFruition public pages and the admin dashboard is operable from a keyboard. Flight search, TSA wait-time display, parking filters, navigation menus, modal dialogs, form controls, and data table interactions are all keyboard-accessible. No functionality requires a mouse-only interaction.
2.1.2 No Keyboard TrapASupportsKeyboard focus is never trapped. Modal dialogs and overlays in the admin dashboard implement focus trapping while open and return focus to the triggering element on close. Escape closes modals and dropdowns.
2.1.4 Character Key ShortcutsASupportsNo single-character keyboard shortcuts are implemented in FlyFruition. Where keyboard shortcuts exist, they require modifier keys or can be turned off/remapped.

Guideline 2.2 — Enough Time

CriterionLevelConformanceRemarks & Explanations
2.2.1 Timing AdjustableASupportsAdmin dashboard sessions do not impose hard time-outs without warning. Where session timeout is configured, users are warned before the session expires and can extend it.
2.2.2 Pause, Stop, HideASupportsAuto-updating content (live FIDS boards, TSA wait-time tickers) can be paused. Real-time data updates use ARIA live regions to announce changes to screen-reader users without requiring visual monitoring. Users can pause auto-refresh on data boards.

Guideline 2.3 — Seizures and Physical Reactions

CriterionLevelConformanceRemarks & Explanations
2.3.1 Three Flashes or Below ThresholdASupportsNo content in FlyFruition flashes more than three times per second. Emergency overlay animations are static or use gentle transitions that do not exceed the flash threshold.
2.3.2 Three FlashesAAASupportsNo content flashes three times or more within any one-second period.

Guideline 2.4 — Navigable

CriterionLevelConformanceRemarks & Explanations
2.4.1 Bypass BlocksASupportsSkip-to-content links are present on all FlyFruition public pages, allowing keyboard users to bypass the navigation header. The admin dashboard includes skip links to the main content area and the primary navigation.
2.4.2 Page TitledASupportsAll pages have descriptive, unique titles. Public pages follow the pattern "Page Name — Airport Name". Admin dashboard pages include the module name and context (e.g., "FIDS Editor — FlyFruition Admin").
2.4.3 Focus OrderASupportsFocus order follows the logical reading order of the page. No positive tabindex values are used. Tab order progresses through navigation, main content, and footer in DOM order.
2.4.4 Link Purpose (In Context)ASupportsLink text is descriptive and makes sense out of context. "Click here" and "read more" patterns are avoided. Links to flight details, terminal maps, and parking pages use descriptive text.
2.4.5 Multiple WaysAASupportsMultiple navigation methods are available: primary navigation menu, footer links, site search, and breadcrumb trails. The admin dashboard provides a sidebar navigation and a global search.
2.4.6 Headings and LabelsAASupportsHeadings are used hierarchically (h1 → h2 → h3) without skipping levels. Form fields have descriptive labels. Data sections (FIDS, TSA, Parking) are headed with descriptive headings.
2.4.7 Focus VisibleAASupportsVisible focus indicators are present on all interactive elements. A :focus-visible outline is applied with sufficient contrast. Focus is never removed via outline: none without a replacement indicator.

Guideline 2.5 — Input Modalities

CriterionLevelConformanceRemarks & Explanations
2.5.1 Pointer GesturesASupportsAll multipoint or path-based gestures have single-point alternatives. Interactive maps (terminal maps) support pinch-to-zoom but also provide zoom buttons. No functionality requires a path-based gesture without an alternative.
2.5.2 Pointer CancellationASupportsThe up-event (pointer release) triggers actions, not the down-event. Users can cancel a tap/click by moving the pointer away before release.
2.5.3 Label in NameASupportsVisible labels on interactive elements match or are included in their accessible names. Icon buttons (e.g., search, menu toggle) include aria-label text that matches the visible label or tooltip.
2.5.4 Motion ActuationASupportsNo functionality is triggered by device motion. All motion-actuated features (if any) have a user-interface alternative and can be disabled.

Principle 3: Understandable

Guideline 3.1 — Readable

CriterionLevelConformanceRemarks & Explanations
3.1.1 Language of PageASupportsThe <html lang> attribute is set on all pages. Language is set to "en" for English-language FlyFruition deployments.
3.1.2 Language of PartsAASupportsWhere content is in a language different from the page language, lang attributes are applied to the relevant elements. Airport names in other languages and foreign-language content are tagged appropriately.

Guideline 3.2 — Predictable

CriterionLevelConformanceRemarks & Explanations
3.2.1 On FocusASupportsReceiving focus does not initiate a change of context. Focus on form fields, links, and interactive elements does not automatically submit forms, navigate, or open new windows.
3.2.2 On InputASupportsChanging a setting (selecting a dropdown, checking a checkbox) does not automatically cause a change of context without user confirmation. Where auto-submit is used for filter controls, it is limited to in-page content updates (not navigation) and users are informed.
3.2.3 Consistent NavigationAASupportsNavigational mechanisms are presented in the same relative order across all pages within a FlyFruition deployment. The primary navigation, footer links, and admin sidebar maintain consistent order.
3.2.4 Consistent IdentificationAASupportsComponents with the same functionality are identified consistently. Search buttons, menu toggles, and form submission buttons use consistent labels and icons across all pages.

Guideline 3.3 — Input Assistance

CriterionLevelConformanceRemarks & Explanations
3.3.1 Error IdentificationASupportsForm errors are identified in text and programmatically associated with the input field using aria-describedby and aria-invalid. Error messages are announced to screen readers via ARIA live regions.
3.3.2 Labels or InstructionsASupportsAll form fields have visible labels associated programmatically. Instructions are provided where input has format requirements (e.g., flight number format, date ranges for reporting).
3.3.3 Error SuggestionAASupportsError messages include suggestions for correction (e.g., "Enter a flight number in the format AA1234" rather than just "Invalid input").
3.3.4 Error Prevention (Legal, Financial, Data)AASupportsFor admin dashboard actions that modify operational data (flight overrides, emergency alerts, parking closures), submissions are reversible (with audit log undo), are checked for input errors, and the user can confirm before finalizing.

Principle 4: Robust

Guideline 4.1 — Compatible

CriterionLevelConformanceRemarks & Explanations
4.1.1 ParsingASupportsHTML is well-formed: elements have complete start and end tags, are nested according to specifications, do not contain duplicate attributes, and IDs are unique. This is enforced by the build pipeline and validated by automated scanning.
4.1.2 Name, Role, ValueASupportsAll user interface components have names, roles, and values that can be programmatically determined. Custom widgets (dropdown menus, tab panels, comboboxes, dialog) use ARIA roles, states, and properties per the ARIA Authoring Practices Guide. State changes are announced to assistive technologies.
4.1.3 Status MessagesAASupportsStatus messages (data refresh notifications, save confirmations, feed status alerts) are programmatically determinable via ARIA live regions (aria-live="polite" or role="status") without receiving focus.

WCAG 2.2 Additional Success Criteria

WCAG 2.2 introduced additional success criteria beyond WCAG 2.1. The following table documents FlyFruition's conformance with the new Level A and Level AA criteria.

CriterionLevelConformanceRemarks & Explanations
2.4.11 Focus Not Obscured (Minimum)AASupportsWhen a component receives keyboard focus, it is not entirely hidden by other content. Sticky headers and footers do not obscure the focused element. Dropdown menus and modals position content so the focused element remains visible.
2.4.12 Focus Not Obscured (Enhanced)AAASupportsThe keyboard focus indicator is not entirely hidden by any other content.
2.4.13 Focus AppearanceAAASupportsFocus indicators have a minimum size and contrast. The :focus-visible outline meets the enhanced appearance criteria.
2.5.7 Dragging MovementsAASupportsAll functionality that uses dragging (e.g., reordering dashboard widgets, map interactions) can be achieved with a single pointer click or keyboard without requiring a dragging movement. Drag-to-reorder has up/down button alternatives.
2.5.8 Target Size (Minimum)AASupportsInteractive targets (buttons, links, form controls) are at least 24 by 24 CSS pixels. The FlyFruition design system enforces minimum tap-target sizes on mobile and desktop.
3.2.6 Consistent HelpASupportsHelp mechanisms (contact information, help links, accessibility contact) appear in a consistent order across all pages. The footer includes a persistent accessibility contact link.
3.3.7 Redundant EntryASupportsInformation previously entered by the user is auto-populated or available for selection in multi-step processes (e.g., admin reporting workflows, form submissions) where re-entering the same information is not necessary.
3.3.8 Accessible Authentication (Minimum)AASupportsThe FlyFruition admin login does not require cognitive function tests. Password fields allow paste, browser autofill, and password manager integration. No CAPTCHA is used for authentication.

Section 508 Conformance

The following table maps FlyFruition's conformance to the Section 508 (36 CFR §1194) standards for Web Intranet and Internet Information and Applications (§1194.22).

Section 508 ProvisionWCAG EquivalentConformance
(a) Text alternatives for non-text elements1.1.1Supports
(b) Synchronized equivalents for multimedia1.2.2, 1.2.5Supports
(c) Color shall not be the only means1.4.1Supports
(d) Documents shall be readable without stylesheets1.3.1, 1.3.2Supports
(e) Redundant text links for client-side image mapsNot Applicable
(f) Client-side image maps with text alternatives1.1.1Not Applicable
(g) Row and column headers in data tables1.3.1Supports
(h) Markup for table headers1.3.1Supports
(i) Frames shall be titled4.1.2Not Applicable
(j) Flicker rate ≤ 3 Hz2.3.1Supports
(k) Text-only alternative pageNot Applicable — full conformance is achieved without a text-only alternative
(l) Scripts shall be accessible4.1.2Supports
(m) Applets and plug-ins shall be accessibleNot Applicable
(n) Electronic forms shall be accessible3.3.1, 3.3.2, 4.1.2Supports
(o) Navigation links for skipping repetitive blocks2.4.1Supports
(p) Timed responses shall alert user2.2.1Supports

EN 301 549 Conformance

FlyFruition's WCAG 2.1 Level AA and WCAG 2.2 Level AA conformance satisfies the corresponding web content accessibility requirements in EN 301 549 v3.2.1 (Section 9, Web Content). The conformance levels documented above apply to the EN 301 549 web content requirements.

Testing Methodology

FlyFruition accessibility conformance is assessed through a layered testing approach combining automated scanning, manual evaluation, and assistive-technology user testing. This methodology is applied on every FlyFruition deployment and on each major release.

Automated Testing

  • axe-core DevTools — Comprehensive automated accessibility scanning integrated into the development pipeline and run against all FlyFruition page templates and admin dashboard views. axe-core is configured with WCAG 2.1 and WCAG 2.2 tag sets (wcag2a, wcag2aa, wcag22aa).
  • WAVE Web Accessibility Evaluator — Used for structural and content-level accessibility validation, including heading hierarchy, landmark detection, and contrast checking across public-facing pages.
  • Pa11y — Command-line accessibility testing integrated into CI for automated regression detection. Pa11y runs against every build and fails the pipeline on new WCAG 2.1 AA violations.
  • FCP ADA Scanner — Fruition's internal Puppeteer-based accessibility scanner (axe-core backend) runs scheduled audits on all deployed FlyFruition sites and stores results in the FCP platform for ongoing monitoring.

Manual Testing

  • NVDA (Windows) — Screen-reader testing on Windows with the NVDA screen reader across major FlyFruition user flows: flight search, TSA wait-time display, parking lookup, terminal map navigation, and admin dashboard form interactions.
  • JAWS (Windows) — Screen-reader testing with JAWS, the most widely used enterprise screen reader, to verify ARIA patterns and live-region announcements for real-time data updates (FIDS refresh, TSA wait-time changes).
  • VoiceOver (macOS / iOS) — Screen-reader testing on macOS desktop and iOS mobile devices to verify touch navigation, rotor navigation, and gesture-based interaction with FlyFruition pages.
  • Keyboard-Only Navigation — Comprehensive keyboard-only testing (Tab, Shift+Tab, Enter, Space, arrow keys, Escape) across all interactive elements, forms, modals, dropdown menus, data tables, and navigation. Verifies focus order, focus visibility, no keyboard traps, and that all functionality is operable without a pointing device.
  • Assistive-Technology User Testing — Testing conducted with users of assistive technologies, including screen magnification (ZoomText), voice control (Dragon NaturallySpeaking), and switch navigation devices, to validate real-world usability beyond automated and standard manual checks.

Testing Cadence

  • Every build (CI): axe-core + Pa11y automated scan on all page templates
  • Every release: Full automated scan + manual keyboard and screen-reader testing on key user flows
  • Quarterly: Scheduled FCP ADA scanner audit on all deployed FlyFruition sites
  • Annually: Full VPAT review and re-publication (this document)

Known Issues & Roadmap

Current Limitations

  • Third-party embedded content (e.g., airline-provided widgets, advertising modules) may not fully meet WCAG conformance. FlyFruition reviews third-party components before integration and works with vendors to remediate identified issues.
  • Some legacy airport-specific custom modules on older FlyFruition deployments are under active accessibility review and remediation.
  • Digital signage (physical display boards) is out of scope for web-based WCAG conformance but follows best practices for display readability and contrast where supported by the hardware.

Planned Improvements

  • Enhanced ARIA live-region patterns for real-time FIDS updates to improve screen-reader announcement granularity.
  • Improved keyboard interaction patterns for complex data tables (sortable flight boards) with explicit sort controls.
  • Additional color-contrast optimizations for data-dense admin dashboard views.
  • Expanded automated test coverage for the FlyFruition admin dashboard module set.

Applicable Standards

  • WCAG 2.1 Level AA (W3C Recommendation)
  • WCAG 2.2 Level AA (W3C Recommendation, 5 October 2023)
  • Section 508 of the Rehabilitation Act (36 CFR §1194)
  • EN 301 549 v3.2.1 (European Accessibility Standard)
  • Americans with Disabilities Act (ADA) Title II — applicable to airport (public entity) websites

Review Cadence

This VPAT is reviewed and updated at least annually. The next scheduled review is August 2027. Material changes to the FlyFruition product that affect accessibility conformance will trigger an interim update. The conformance status of deployed instances is monitored continuously via the FCP ADA scanner.

Contact Information

Accessibility Contact: Fruition Accessibility Team
Email: [email protected]
Phone: (303) 395-1880
Address: 616 E. Speer Blvd., Denver, CO 80203

This VPAT was prepared by the Fruition Accessibility Team and reflects our ongoing commitment to digital accessibility for all FlyFruition users, including airport staff using the admin dashboard and passengers accessing airport information on public-facing sites. Last updated: August 11, 2026.

Questions About This VPAT Report?

Our accessibility team is available to answer questions about this report and discuss your airport's accessibility requirements.

Contact Our Team  |  View FlyFruition Accessibility Statement  |  View Fruition.net VPAT