Accessibility
Accessibility Commitment
Patriot BioSolutions is built to support accessible use across public and authenticated workflows.
Last updated: March 23, 2026
Current practices
- Semantic headings, landmark regions, and form labels across core pages.
- Visible focus states and keyboard-navigable actions for major workflows.
- Accessible empty/error states with plain-language instructions.
- Animations respect
prefers-reduced-motionuser preference. - Skip-to-content link and ARIA landmark roles on all pages.
- Dropdown menus and accordions support full keyboard navigation.
VPAT: WCAG 2.1 Conformance Report
Voluntary Product Accessibility Template (VPAT) based on ITI VPAT 2.4 Rev. This report describes how Patriot BioSolutions Procurement Platform conforms to WCAG 2.1 Level AA.
Product:Patriot BioSolutions Procurement PlatformReport date:March 23, 2026Standard:WCAG 2.1 Level AAContact:support@patriotbiosolutions.comEvaluation:Testing with Lighthouse, axe-core, manual keyboard/screen reader testing, and automated WCAG auditing across public and authenticated workflows.
WCAG 2.1 Level A
| Criterion | Name | Conformance | Remarks |
|---|---|---|---|
| 1.1.1 | Non-text Content | Supports | All informational images have alt text. Decorative SVGs use aria-hidden. Form inputs have associated labels. |
| 1.2.1 | Audio-only and Video-only (Prerecorded) | Not Applicable | Platform does not include audio-only or video-only content. |
| 1.2.2 | Captions (Prerecorded) | Not Applicable | Platform does not include prerecorded video content. |
| 1.2.3 | Audio Description or Media Alternative | Not Applicable | Platform does not include prerecorded video content. |
| 1.3.1 | Info and Relationships | Supports | Semantic HTML used throughout: headings, landmarks, lists, tables with scope attributes, fieldsets with legends, and ARIA roles for interactive widgets. |
| 1.3.2 | Meaningful Sequence | Supports | DOM order matches visual presentation. CSS layout does not alter reading order. |
| 1.3.3 | Sensory Characteristics | Supports | Instructions do not rely solely on shape, color, size, or visual location. Form errors use text labels. |
| 1.4.1 | Use of Color | Supports | Color is not the sole means of conveying information. Status indicators use text labels and icons alongside color. |
| 1.4.2 | Audio Control | Not Applicable | Platform does not auto-play audio. |
| 2.1.1 | Keyboard | Supports | All interactive elements are keyboard accessible. Dropdown menus, accordions, and modals support full keyboard navigation with arrow keys, Tab, Enter, Space, and Escape. |
| 2.1.2 | No Keyboard Trap | Supports | Focus traps in modals can be dismissed with Escape key. No other keyboard traps exist. |
| 2.1.4 | Character Key Shortcuts | Not Applicable | Platform does not use single-character keyboard shortcuts. |
| 2.2.1 | Timing Adjustable | Not Applicable | No timed interactions. Session management uses standard auth token expiry with re-authentication. |
| 2.2.2 | Pause, Stop, Hide | Supports | Animations respect prefers-reduced-motion. No auto-updating content that cannot be paused. |
| 2.3.1 | Three Flashes or Below Threshold | Supports | No content flashes more than three times per second. |
| 2.4.1 | Bypass Blocks | Supports | Skip-to-main-content link is present on all pages. Landmark regions (banner, navigation, main, contentinfo) allow assistive technology navigation. |
| 2.4.2 | Page Titled | Supports | Every page has a unique, descriptive title via Next.js metadata. Format: 'Page Name | Patriot BioSolutions'. |
| 2.4.3 | Focus Order | Supports | Focus order follows DOM order which matches visual layout. Modal focus management moves focus into and out of dialogs correctly. |
| 2.4.4 | Link Purpose (In Context) | Supports | Link text is descriptive in context. Generic links like 'Learn more' are within card components that provide context. |
| 2.5.1 | Pointer Gestures | Not Applicable | No functionality requires multipoint or path-based gestures. |
| 2.5.2 | Pointer Cancellation | Supports | Click/tap actions fire on pointer up. No down-event-only handlers. |
| 2.5.3 | Label in Name | Supports | Visible labels match or are contained within accessible names for all form controls and buttons. |
| 2.5.4 | Motion Actuation | Not Applicable | No functionality is triggered by device motion. |
| 3.1.1 | Language of Page | Supports | HTML lang attribute is set to 'en' on all pages. |
| 3.2.1 | On Focus | Supports | No context changes occur on focus. Dropdowns open on click, not on focus. |
| 3.2.2 | On Input | Supports | Form inputs do not trigger context changes. Submission requires explicit button activation. |
| 3.3.1 | Error Identification | Supports | Form errors are identified in text and associated with fields via aria-invalid and native validation messages. |
| 3.3.2 | Labels or Instructions | Supports | All form fields have visible labels. Required fields are indicated with aria-required. Placeholder text supplements but does not replace labels. |
| 4.1.1 | Parsing | Supports | HTML is generated by React/Next.js with valid markup. TypeScript strict mode prevents attribute errors. |
| 4.1.2 | Name, Role, Value | Supports | Custom controls use ARIA roles (menu, menuitem, region, progressbar), states (aria-expanded, aria-invalid, aria-hidden), and properties (aria-controls, aria-labelledby). |
WCAG 2.1 Level AA
| Criterion | Name | Conformance | Remarks |
|---|---|---|---|
| 1.3.4 | Orientation | Supports | Content is not restricted to a single display orientation. Responsive layout adapts to portrait and landscape. |
| 1.3.5 | Identify Input Purpose | Supports | Form fields use appropriate input types (email, tel) and autocomplete attributes where applicable. |
| 1.4.3 | Contrast (Minimum) | Supports | Text contrast ratios meet or exceed 4.5:1 for normal text and 3:1 for large text. Verified via Lighthouse and manual spot checks. |
| 1.4.4 | Resize Text | Supports | Content is readable and functional at 200% browser zoom. Layout uses relative units (rem, %, viewport units). |
| 1.4.5 | Images of Text | Supports | No images of text are used. All text is rendered as HTML. Certification badges use inline SVG with text labels. |
| 1.4.10 | Reflow | Supports | Content reflows at 320px viewport width without horizontal scrolling. Comparison table uses overflow-x-auto for wide content. |
| 1.4.11 | Non-text Contrast | Supports | UI components and graphical objects meet 3:1 contrast ratio. Focus indicators, form borders, and badge icons verified against background colors. |
| 1.4.12 | Text Spacing | Supports | Content remains readable with increased letter spacing (0.12em), word spacing (0.16em), and line height (1.5). No overflow or clipping. |
| 1.4.13 | Content on Hover or Focus | Supports | Dropdown menus triggered on hover are dismissible with Escape, persistent while hovered, and do not obscure other content. |
| 2.4.5 | Multiple Ways | Supports | Pages are reachable via navigation menu, footer links, breadcrumbs, and direct URL. Insights have category browsing. |
| 2.4.6 | Headings and Labels | Supports | Headings describe topic or purpose. Form labels identify field purpose. Section headings follow a logical hierarchy. |
| 2.4.7 | Focus Visible | Supports | All interactive elements have visible focus-visible outlines (3px solid). Dark backgrounds use inverted (white) focus rings. |
| 3.1.2 | Language of Parts | Supports | Content is in English only. No mixed-language content requiring lang attribute on individual elements. |
| 3.2.3 | Consistent Navigation | Supports | Navigation components appear in the same relative order across all pages. Public and admin navigation are distinct but internally consistent. |
| 3.2.4 | Consistent Identification | Supports | Components with the same function use consistent labels and icons across the platform. |
| 3.3.3 | Error Suggestion | Supports | Validation errors provide suggestions for correction via native browser validation and custom error messages. |
| 3.3.4 | Error Prevention (Legal, Financial, Data) | Supports | Order submissions include confirmation steps. Lead form data is reversible (no legal commitment). Quote requests can be reviewed before submission. |
| 4.1.3 | Status Messages | Supports | Form submission errors use role='alert' for screen reader announcement. Toast notifications are announced without focus change. |
Need an accommodation?
Send feedback to support@patriotbiosolutions.com and include the page URL, browser/device details, and accessibility barrier encountered.