Formal Procurement Document

Voluntary Product Accessibility Template®

VPAT® 2.5 Rev — WCAG Edition (adapted)

Product Information

Name of Product
Black Marker Heritage — Bookmarks of Black History
Product Version
1.1
Report Date
February 9, 2026
Product Description
A curated, self-serve web application for producing and printing bookmarks of historically significant Black figures, using public-domain imagery.
Notes
Prepared in-house on the basis of automated axe-core testing against WCAG 2.0 A, 2.0 AA, and 2.1 AA rulesets, plus manual keyboard and screen-reader review.
Evaluation Methods Used
Automated testing with axe-core 4.10 across nine public routes; manual keyboard-only navigation; measured color-contrast audit against WCAG 1.4.3.
Applicable Standards
WCAG 2.1 Level AA

Conformance Terms

Supports
The functionality of the product has at least one method that meets the criterion without known defects.
Partially Supports
Some functionality of the product does not meet the criterion.
Does Not Support
The majority of product functionality does not meet the criterion.
Not Applicable
The criterion is not relevant to the product.

Executive Summary

38
Supports
12
Not Applicable

Every applicable WCAG 2.1 Level A and AA success criterion is supported by the product with no known defects. Criteria marked "Not Applicable" pertain to features (audio, video, live captioning, time limits) that the product does not implement.

WCAG 2.1 Level A

WCAG 2.1 Level A Conformance
CriterionNameConformanceRemarks
1.1.1Non-text ContentSupportsDecorative portraits are conveyed by adjacent descriptive text (name, category, biography). The bookmark canvas uses role="img" with an aria-label naming the figure, years, category, and side.
1.2.1Audio-only and Video-only (Prerecorded)Not ApplicableThe application contains no audio or video content.
1.2.2Captions (Prerecorded)Not ApplicableNo prerecorded media.
1.2.3Audio Description or Media Alternative (Prerecorded)Not ApplicableNo prerecorded media.
1.3.1Info and RelationshipsSupportsSemantic HTML5 landmarks used throughout (<nav>, <main>, <section>, <aside>, <footer>). Form controls use htmlFor/id associations.
1.3.2Meaningful SequenceSupportsDOM order matches visual order. Flexbox reordering is used only for responsive layout and preserves reading order.
1.3.3Sensory CharacteristicsSupportsInstructions never rely on shape, size, or spatial location alone.
1.4.1Use of ColorSupportsChip and toggle state is expressed via border, fill, and inset shadow in addition to color; aria-pressed is set on toggle chips.
1.4.2Audio ControlNot ApplicableNo auto-playing audio.
2.1.1KeyboardSupportsAll interactive elements are native <a> or <button> and are operable with the keyboard.
2.1.2No Keyboard TrapSupportsNo modal traps focus. Toasts do not steal focus.
2.1.4Character Key ShortcutsNot ApplicableThe application defines no single-character keyboard shortcuts.
2.2.1Timing AdjustableNot ApplicableThe application enforces no time limits on user actions.
2.2.2Pause, Stop, HideNot ApplicableNo auto-updating or moving content.
2.3.1Three Flashes or Below ThresholdSupportsNo flashing content is used.
2.4.1Bypass BlocksSupportsA visible "Skip to main content" link is provided on focus at the top of every page.
2.4.2Page TitledSupportsThe document title identifies the application. Route-specific titles are planned for a future release.
2.4.3Focus OrderSupportsTab order follows DOM order and matches visual reading order.
2.4.4Link Purpose (In Context)SupportsAll links either have descriptive text or an aria-label that names their purpose.
2.5.1Pointer GesturesSupportsNo multi-point or path-based gestures are required. All actions are single-tap or single-click.
2.5.2Pointer CancellationSupportsDefault native button behavior — activation on up-event.
2.5.3Label in NameSupportsVisible text labels are included in each element's accessible name.
2.5.4Motion ActuationNot ApplicableNo device-motion controls.
3.1.1Language of PageSupports<html lang="en"> is declared.
3.2.1On FocusSupportsReceiving focus does not initiate a change of context.
3.2.2On InputSupportsChanging an input value does not automatically submit the form or navigate.
3.3.1Error IdentificationSupportsNative HTML5 validation is used; server-side errors are announced via the toast region.
3.3.2Labels or InstructionsSupportsEvery form control has an associated <label> and helpful hint text where relevant.
4.1.1ParsingSupportsMarkup is valid HTML5 rendered by React. Unique IDs are enforced.
4.1.2Name, Role, ValueSupportsIcon-only buttons carry aria-label. Toggle chips expose aria-pressed. Native controls provide role and value automatically.

WCAG 2.1 Level AA

WCAG 2.1 Level AA Conformance
CriterionNameConformanceRemarks
1.2.4Captions (Live)Not ApplicableNo live media.
1.2.5Audio Description (Prerecorded)Not ApplicableNo prerecorded media.
1.3.4OrientationSupportsLayout is fluid and works in both portrait and landscape.
1.3.5Identify Input PurposeSupportsLogin and registration inputs use autocomplete="email", "current-password", "new-password", and "name" per HTML autocomplete tokens.
1.4.3Contrast (Minimum)SupportsBody text achieves ≥ 4.5:1 contrast. Small caps gold labels darkened to #7D5A2F on parchment #F5F2EB → 5.6:1 measured ratio.
1.4.4Resize TextSupportsText scales cleanly up to 200% browser zoom without loss of content or functionality.
1.4.5Images of TextSupportsAll UI text is rendered as HTML/CSS. The bookmark canvas rendered inside the app is a decorative composition; corresponding text is available in the surrounding page.
1.4.10ReflowSupportsThe layout reflows without horizontal scrolling at 320 CSS pixels wide.
1.4.11Non-text ContrastSupportsFocus rings, input borders, and chip borders all achieve ≥ 3:1 contrast.
1.4.12Text SpacingSupportsNo text is broken when the user applies custom spacing (line-height 1.5, paragraph spacing 2×, letter-spacing 0.12×, word-spacing 0.16×).
1.4.13Content on Hover or FocusSupportsNo content-triggering tooltips or popovers are used.
2.4.5Multiple WaysSupportsFigures are reachable via the Home hero, Browse grid, Category landing pages, the Timeline, and a name search.
2.4.6Headings and LabelsSupportsHeadings and labels describe the section topic or control purpose.
2.4.7Focus VisibleSupportsA 2px oxblood focus ring with 3px offset appears on every interactive element via :focus-visible.
3.1.2Language of PartsNot ApplicableAll content is in English.
3.2.3Consistent NavigationSupportsThe primary navigation and footer appear in identical positions on every page.
3.2.4Consistent IdentificationSupportsComponents with the same function are labeled consistently across the application.
3.3.3Error SuggestionSupportsServer-side errors return descriptive messages ("Email already registered", "Invalid email or password", etc.).
3.3.4Error Prevention (Legal, Financial, Data)Not ApplicableThe application does not handle legal, financial, or irreversible-data transactions.
4.1.3Status MessagesSupportsToast notifications are rendered via Sonner with role="status", so they are announced by screen readers without stealing focus.

VPAT® is a registered trademark of the Information Technology Industry Council (ITI). This document is an adaptation of the VPAT® 2.5 Rev — WCAG Edition template, prepared in good faith to disclose our accessibility conformance. It is not an audit performed by ITI or its members. Please contact us at accessibility@blackmarkerheritage.org for procurement questions or to request an updated report.

Black Marker Heritage
Bookmarks of Black History
Last WCAG 2.1 AA audit
February 9, 2026
© 2026 Black Marker HeritageA LIFE. A VOICE. OUR FREEDOM. OUR FUTURE.