Federal agencies, state governments, and public institutions are required by Section 508 2018 Refresh 508.1 to procure or develop technology that meets documented accessibility standards. A VPAT (Voluntary Product Accessibility Template) or accessibility conformance statement is the mechanism through which conformance is communicated to procurement officers and users with disabilities. Without one, procurement evaluators cannot assess compliance, and users have no channel to report barriers or understand the scope of known gaps. Even partial documentation signals intentional governance. WCAG 2.2 SC 4.1.1 supports interoperability foundations that a VPAT codifies in policy terms.
Info because absence of a VPAT or accessibility statement does not itself create a barrier for users, but it signals unmanaged compliance risk and blocks procurement eligibility for government contracts.
Publish an accessibility statement at /accessibility and link it from the site footer. At minimum, the page must name the targeted standard, the last review date, known exceptions, and a contact channel:
// app/accessibility/page.tsx
export const metadata = {
title: 'Accessibility Statement | My App',
};
export default function AccessibilityStatement() {
return (
<main>
<h1>Accessibility Statement</h1>
<p>We target WCAG 2.1 Level AA conformance per Section 508 2018 Refresh. Last evaluated: 2025-01-15.</p>
<h2>Known Limitations</h2>
<p>Third-party embedded maps do not fully meet keyboard navigation requirements. We are working with our vendor on remediation.</p>
<h2>Feedback</h2>
<p>Report accessibility barriers to <a href="mailto:accessibility@example.com">accessibility@example.com</a>.</p>
</main>
);
}
For government procurement, complete the official VPAT 2.5 template from the IT Industry Council and attach it to vendor submissions.
gov-section-508.wcag-core.vpat-statementinfo1"No /accessibility page, footer link, or VPAT document found. No public statement of intended conformance level (WCAG 2.1 AA or Section 508) is available."// app/accessibility/page.tsx
export const metadata = { title: 'Accessibility Statement | My App' };
export default function AccessibilityStatement() {
return (
<main>
<h1>Accessibility Statement</h1>
<p>We target WCAG 2.1 Level AA conformance. Last evaluated: [date].</p>
<h2>Known Issues</h2>
<p>[Document any known gaps here]</p>
<h2>Contact</h2>
<p>Report issues to: accessibility@example.com</p>
</main>
);
}