diff --git a/.reports/VPAT-DocuSeal-WCAG21.md b/.reports/VPAT-DocuSeal-WCAG21.md new file mode 100644 index 00000000..06ae2e9b --- /dev/null +++ b/.reports/VPAT-DocuSeal-WCAG21.md @@ -0,0 +1,159 @@ +# Voluntary Product Accessibility Template (VPAT®) 2.4 + +**Product:** DocuSeal — Open Source Document Signing Platform +**Product Version:** 1.x (a11y-enhancements branch) +**Report Date:** 2026-02-26 +**Report Version:** 1.0 +**Contact:** DocuSeal Accessibility Team +**Notes:** This report covers the `a11y-enhancements` branch which introduces comprehensive WCAG 2.1 Level AA remediation across the full product. It supersedes the prior state of the `master` branch, which had numerous Level A violations. Evaluation was performed through manual code review, keyboard-only navigation testing, and static analysis. + +--- + +## Applicable Standards / Guidelines + +This report covers conformance with the following accessibility standard: + +| Standard | Included | +|----------|----------| +| [Web Content Accessibility Guidelines 2.1](https://www.w3.org/TR/WCAG21/) (ISO/IEC 40500) | Yes | +| Revised Section 508 standards published January 18, 2017 and corrected January 22, 2018 | Referenced | +| EN 301 549 Accessibility requirements for ICT products and services, V3.2.1 (2021-03) | Referenced | + +--- + +## Terms + +The following terms are used throughout this report to describe conformance: + +| Term | Meaning | +|------|---------| +| **Supports** | The functionality meets the criterion without known defects. | +| **Partially Supports** | Some functionality 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 this product. | +| **Not Evaluated** | The product has not been evaluated against this criterion. This can only be used in WCAG Level AAA criteria. | + +--- + +## Scope + +This evaluation covers the following product surfaces: + +- **Document Template Builder** — web-based WYSIWYG interface for placing and configuring form fields on PDF pages (`template_builder/` Vue application) +- **Document Signing Form** — step-by-step form completion and e-signature flow (`submission_form/` Vue application) +- **Dashboard** — template and submission management views +- **Settings pages** — account, API, email SMTP, e-sign certificate, and user profile settings +- **Shared UI components** — navigation, search, flash messages, modals, drawers, pagination, file upload + +**Out of scope for this evaluation:** +- Third-party embedded widgets (React/Vue/Angular npm packages) +- API endpoints (non-visual) +- Administrative console interface (`console.*` subdomain in multitenant mode) + +--- + +## WCAG 2.1 Report + +### Table 1: Success Criteria, Level A + +| Criteria | Conformance Level | Remarks and Explanations | +|----------|-------------------|--------------------------| +| **1.1.1 Non-text Content** | Supports | All meaningful images have descriptive `alt` text. Page preview images in the template builder and submission viewer include `alt="Page N of M"`. Signature/initials canvas elements have `aria-label`. Decorative icons use `aria-hidden="true"`. PDF pages also expose extracted text content via a screen-reader-only region and a user-selectable Text View tab. | +| **1.2.1 Audio-only and Video-only (Prerecorded)** | Not Applicable | The product does not include prerecorded audio-only or video-only content. | +| **1.2.2 Captions (Prerecorded)** | Not Applicable | The product does not include prerecorded synchronized media. | +| **1.2.3 Audio Description or Media Alternative (Prerecorded)** | Not Applicable | The product does not include prerecorded video content. | +| **1.3.1 Info and Relationships** | Supports | Form controls have programmatically associated labels via `