Skip to content
Accessibility statement VPAT 2.5 · ACR

Accessibility Conformance Report

How VolunteerBadge conforms to WCAG 2.2 Level AA and Section 508, graded criterion by criterion. Written for procurement and compliance teams — and kept honest, including where work is still in progress.

Last updated
August 8, 2026
First issued
July 28, 2026
Report version
1.3
Standard
WCAG 2.2 Level AA
A note on honesty.ScreenForge Labs treats accessibility as ongoing engineering work. This report documents the product’s current state, including criteria marked Partially Supports. Where remediation is in flight, the remark says so. This is a living document, not a claim of perfect conformance — we update it as we improve, and each change is logged in the revision history below. Because VolunteerBadge is continuously deployed, you can confirm the current status of any single criterion with our team.
43
Supports
1
Partially Supports
0
Does Not Support
6
Not Applicable

Product & evaluation information

Product name
VolunteerBadge (web application & marketing site)
Product version
Continuously deployed SaaS — evaluated as of the report date below
Product description
A web platform for nonprofits, churches, schools, and youth organizations to screen and manage volunteers: FCRA-compliant background checks, digital volunteer applications with e-signature, identity verification, hour tracking, and an AI assistant (“Victor”).
Evaluation methods
Automated testing with axe-core (Deque) driven by Playwright across public pages and authenticated dashboard flows in the CI/CD pipeline; manual keyboard-only traversal of core paths; manual inspection of semantics, labels, focus order, and color contrast in both light and dark themes.
Applicable standards
WCAG 2.2 Levels A and AA (W3C); Revised Section 508 (36 CFR 1194, which incorporates WCAG 2.0 AA) — reported here at the higher WCAG 2.2 AA bar, which subsumes the Section 508 web requirements.
Report basis
ITI Voluntary Product Accessibility Template® (VPAT®) version 2.5, WCAG Edition.

Conformance terms

  • SupportsMeets the criterion without known exceptions.
  • Partially SupportsMeets the criterion for most content; known exceptions remain.
  • Does Not SupportMost content does not meet the criterion.
  • Not ApplicableThe criterion does not apply to this product.

WCAG 2.2 Report — Level A

Criteria marked 2.2 were added in WCAG 2.2.

WCAG 2.2 Level A success criteria and conformance
CriterionConformanceRemarks & explanations
1.1.1 Non-text ContentSupportsInformative images use meaningful alt text; decorative graphics and animated illustrations are marked aria-hidden or given empty alt.
1.2.1–1.2.3 Audio-only / Video-only / Captions & Audio Description (Prerecorded)Not ApplicableThe product does not present prerecorded audio-only or video-only media as functional content.
1.3.1 Info and RelationshipsSupportsSemantic HTML (headings, lists, landmarks, tables), programmatically associated form labels, and ARIA where native semantics fall short.
1.3.2 Meaningful SequenceSupportsDOM order matches the visual reading order; the multi-step application advances focus with each step.
1.3.3 Sensory CharacteristicsSupportsInstructions do not rely on shape, size, or position alone.
1.4.1 Use of ColorSupportsStatus is conveyed with icon and text as well as color. Inline text links in body copy carry an underline, an arrow/icon, or bold styling in addition to color; a repo-wide sweep of marketing and public content pages confirmed no remaining color-only link.
1.4.2 Audio ControlNot ApplicableNo audio plays automatically.
2.1.1 KeyboardSupportsCore paths — sign up, invite a volunteer, run a check, complete and submit an application, and upload a document — are fully keyboard operable.
2.1.2 No Keyboard TrapSupportsDialogs and drawers trap focus intentionally and release it on close (Esc or a close control).
2.1.4 Character Key ShortcutsNot ApplicableNo single-character key shortcuts are implemented.
2.4.1 Bypass BlocksSupportsA “Skip to content” link is the first focusable element on each page, with consistent landmark structure.
2.4.2 Page TitledSupportsEach route sets a descriptive, unique page title.
2.4.3 Focus OrderSupportsFocus order is logical and follows the content sequence.
2.4.4 Link Purpose (In Context)SupportsLink text with its context describes the destination; icon-only controls carry accessible names.
2.5.1 Pointer GesturesSupportsNo multipoint or path-based gestures are required.
2.5.2 Pointer CancellationSupportsActions fire on the up-event; there is no down-event activation.
2.5.3 Label in NameSupportsVisible labels are contained within the accessible names of controls.
2.5.4 Motion ActuationNot ApplicableNo functionality is triggered by device motion.
3.1.1 Language of PageSupportsThe page lang is set; the volunteer application also offers English, Spanish, and Chinese, and Victor operates in all three.
3.2.1 On FocusSupportsReceiving focus does not trigger an unexpected change of context.
3.2.2 On InputSupportsChanging a control value does not auto-submit or navigate unexpectedly.
3.2.6 Consistent Help2.2SupportsHelp and contact options (Support Center, Contact Us, Victor) appear in a consistent location across pages.
3.3.1 Error IdentificationSupportsErrors are identified in text, tied to the field, and announced to assistive technology.
3.3.2 Labels or InstructionsSupportsForm controls provide programmatically associated labels and instructions, including the free-tool calculators (each input and select is now tied to its label; grouped toggles use a labelled group).
3.3.7 Redundant Entry2.2SupportsRe-screening reuses the volunteer’s existing profile; previously entered information is not requested again within a process.
4.1.2 Name, Role, ValueSupportsCustom controls expose name, role, value, and state via native semantics or ARIA. The free-tool calculator selects and inputs now carry associated accessible names.

WCAG 2.2 Report — Level AA

WCAG 2.2 Level AA success criteria and conformance
CriterionConformanceRemarks & explanations
1.2.4 Captions (Live)Not ApplicableNo live multimedia.
1.2.5 Audio Description (Prerecorded)Not ApplicableNo prerecorded video with essential visual-only information.
1.3.4 OrientationSupportsContent is responsive and not locked to a single orientation.
1.3.5 Identify Input PurposeSupportsCommon fields (name, email, address, phone) use appropriate autocomplete tokens and input types.
1.4.3 Contrast (Minimum)SupportsEvery public marketing page under automated coverage — the homepage, accessibility pages, free tools and calculators, statistics and policy hubs, the full competitor-comparison cluster, academy, all feature pages, the nonprofit directory, and every shared component — audits clean at 4.5:1 (3:1 for large text) in both themes, with color-contrast BLOCKING in CI (no monitored/exempt tier remains).
1.4.4 Resize TextSupportsLayout uses relative units; content reflows and remains usable at 200% zoom.
1.4.5 Images of TextSupportsReal text is used throughout; images of text are avoided except for logos.
1.4.10 ReflowSupportsContent reflows to a single column at 320 CSS px without loss; wide tables scroll within their own container.
1.4.11 Non-text ContrastPartially SupportsThe focus indicator meets 3:1 everywhere. A manual review (axe-core has no automated rule for this criterion) found the shared form-input border and several translucent "outline button" border styles fall well under 3:1 (as low as ~1.2:1); both have been fixed on the free-tool calculators, the nonprofit directory search/filter fields, and the shared input class used sitewide. The same translucent-border button pattern recurs across 150+ other files (mostly dashboard) and is tracked as an ongoing burn-down, not yet complete.
1.4.12 Text SpacingSupportsNo loss of content when user text-spacing overrides are applied.
1.4.13 Content on Hover or FocusSupportsTooltips and menus are dismissable, hoverable, and persistent.
2.4.5 Multiple WaysSupportsNavigation, in-app search, footer and sitemap links, and Victor provide multiple ways to locate content.
2.4.6 Headings and LabelsSupportsHeadings and labels are descriptive.
2.4.7 Focus VisibleSupportsA site-wide, always-visible keyboard focus indicator is implemented.
2.4.11 Focus Not Obscured (Minimum)2.2SupportsA global scroll-padding offset keeps anchor targets and keyboard-focused elements clear of the fixed top navigation and announcement banner, so a focused control is not hidden behind the sticky header.
2.5.7 Dragging Movements2.2SupportsNo functionality requires dragging; the application builder’s reorder also offers non-drag controls.
2.5.8 Target Size (Minimum)2.2SupportsInteractive targets meet the 24×24 CSS px minimum. The previously-noted dense links in the competitor comparison tables were given adequate hit area; automated testing across the comparison hub and competitor pages now reports no target-size violations.
3.1.2 Language of PartsSupportsForeign-language passages in the multilingual application are marked with lang.
3.2.3 Consistent NavigationSupportsNavigation is consistent in order and placement across pages.
3.2.4 Consistent IdentificationSupportsComponents with the same function are identified consistently.
3.3.3 Error SuggestionSupportsError messages explain how to correct the problem.
3.3.4 Error Prevention (Legal, Financial, Data)SupportsPayment and background-check submissions present a review/confirm step and are reversible or refundable per policy.
3.3.8 Accessible Authentication (Minimum)2.2SupportsSign-in uses Google OAuth or an emailed magic link — no cognitive function test (no password puzzle, and no CAPTCHA is required to authenticate).
4.1.3 Status MessagesSupportsToasts and inline status use appropriate roles and live regions so they are announced without moving focus.

Section 508

Revised Section 508 (36 CFR 1194) incorporates WCAG 2.0 Level AA for web content. VolunteerBadge is evaluated above at the higher WCAG 2.2 AA bar, which subsumes the Section 508 web requirements. Chapter 5 (Software) and Chapter 6 (Support Documentation & Services) obligations are met through the same semantics, keyboard support, and the published accessibility statement and support channel. A full Section 508 chapters 4/5/6 table is available on request.

Revision history

This report is updated as we improve. Newest changes first.

  1. August 8, 2026v1.3

    Lint gate tightened (WCAG plan Task 2.2): cleared the last anchor-is-valid and no-noninteractive-element-interactions findings (disabled certificate control is a real button, mockup faux-link is a span, checkbox preventScroll moved off the label, ZoomableImage backdrop is a button, image load failures probed off-DOM) and promoted both rules from warn to error in eslint.config.mjs. No criterion grading change.

  2. August 8, 2026v1.3

    Expanded public axe coverage (WCAG plan Task 2.1): added one representative route per previously untested public template (camps, Meals on Wheels directory/org/guides, SEO landings, statistics hubs, grants, senior-care, volunteer opportunities, nonprofit and impact detail pages, policy wizards, blog stats articles, city hubs, and state requirements). Fixed unlabeled filter/selects on the opportunities directory and policy creator, and added accessible names to blog trend-chart SVGs. Four clean template samples graduated into the blocking page list; remaining samples stay contrast-tracked until their color-contrast residual is cleared. No criterion grading change.

  3. August 5, 2026v1.3

    Contrast (Minimum) burn-down complete: fixed the remaining color-contrast residual across the academy hub, roster-import and reply-assistant feature pages, the national-criminal-check mockup, the nonprofit directory, near-me search, the trust center intro, and the homepage reviews link — plus a keyboard-accessibility fix for the scrollable NDA text on the criminal-database-coverage page and missing accessible names on the nonprofit directory and near-me search form fields. The former "monitored" (contrast-exempt) page tier is now empty and removed from the test suite; every public page under automated coverage blocks on color-contrast in CI. 1.4.3 moves from Partially Supports to Supports. Also swept marketing and public content pages for color-only links (inline mailto/tel links, "explore more" grant-funder links, and academy/category cross-links that had color as their only affordance) and added underlines; 1.4.1 moves from Partially Supports to Supports. Investigated 1.4.11 (Non-text Contrast): discovered axe-core ships no automated rule for this criterion at all (the plan to rely on axe here was wrong), and that the low-contrast translucent-border pattern is far more widespread than previously described. Fixed the shared `.vb-dash-input` class (used by every text input/select sitewide, including the free-tool calculators) and the nonprofit-directory search/filter fields and near-me-search fields/button, which measured as low as ~1.2:1. Also found and fixed the identical bug independently duplicated (instead of reusing `.vb-dash-input`) across every address-autocomplete call site — `AddressAutocompleteFields`' own default, `OrgAddressFormFields` (org settings + onboarding), the public volunteer application form (`ApplicationFormRenderer`), `VolunteerProfileActions`, and `rescreen/[token]` — all had the same ~1.2-1.7:1 border. Corrected the remarks to describe the real, larger remaining scope instead of downplaying it. 1.4.11 remains Partially Supports — the same low-contrast-border pattern recurs across 150+ mostly-dashboard files not yet fixed.

  4. July 28, 2026v1.2

    Competitor-comparison cluster fully remediated. Fixed the VolunteerBadge "winner" green, the sticky table headers, muted labels, a badge, and the too-small in-cell links across the comparison hub and every competitor page — clearing both color-contrast and the last target-size gap. Target Size (2.5.8) is now Supports, and the comparison hub plus a representative competitor page joined the color-contrast blocking gate.

  5. July 28, 2026v1.1

    Accessibility sweep. Free-tool calculator inputs and selects now carry associated accessible names (3.3.2, 4.1.2 → Supports). Added a global scroll-padding offset so the sticky header never hides a focused element (2.4.11 → Supports). Extended the color-contrast burn-down to the academy hub, statistics, policies, and feature pages, and made color-contrast a blocking CI check on the fully remediated pages. Automated testing confirmed a residual target-size gap in the comparison tables (2.5.8 remains Partially Supports).

  6. July 28, 2026v1.0

    Initial public Accessibility Conformance Report, evaluated against WCAG 2.2 Level AA. Reflects the site-wide color-contrast remediation of the homepage and all shared components, the WCAG 2.2 statement update, and the multilingual assistant.

Questions, or need this in another format?

Procurement and compliance teams can request a countersigned copy, a Section 508 chapters 4/5/6 table, or clarification on any criterion. Email support@screenforgelabs.com. We acknowledge accessibility requests within two business days.

“VPAT” and “Voluntary Product Accessibility Template” are registered trademarks of the Information Technology Industry Council (ITI). This report is provided in good faith for evaluation purposes and reflects the product state on August 8, 2026. VolunteerBadge is operated by ScreenForge Labs, LLC.