VPAT Voluntary Product Accessibility Template for website

Our company is engaged in the development, support and maintenance of sites of any complexity. From simple one-page sites to large-scale cluster systems built on micro services. Experience of developers is confirmed by certificates from vendors.
Development and maintenance of all types of websites:
Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:
Development stages
Latest works
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    822
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    847
  • image_website-sbh_0.png
    Website development for SBH Partners
    999
  • image_website-_0.png
    Website development for Red Pear
    451

Developing VPAT — Accessibility Report Template

VPAT (Voluntary Product Accessibility Template) is a standard document describing a product's compliance with Section 508 (USA) or EN 301 549 (Europe). It is mandatory for selling software to US government agencies and large corporations with procurement policies.

VPAT Versions

Version Standard When to Use
VPAT 2.4 WCAG WCAG 2.1/2.2 International projects
VPAT 2.4 508 Section 508 US government sector
VPAT 2.4 EU EN 301 549 European market
VPAT 2.4 INT All three Universal

VPAT templates are available at IT Industry Council (itic.org).

VPAT Structure

VPAT consists of tables for each WCAG section. For each criterion, a support level is indicated:

Support Level Meaning
Supports Fully compliant
Partially Supports Partial compliance with limitations
Does Not Support Non-compliant
Not Applicable Criterion not applicable to product
Not Evaluated Not tested

VPAT Preparation Process

Step 1: Product Audit

Systematic manual testing is conducted with screen readers (NVDA + Firefox, JAWS + Chrome, VoiceOver + Safari) and automated tools (axe-core, WAVE).

Step 2: Filling in Criteria

For each WCAG Success Criterion (78 total for Level AA in 2.1):

1.1.1 Non-text Content (Level A)
  Criteria: Supports
  Remarks: All images have appropriate alt text. Decorative images
           use empty alt="" attribute. Complex charts include
           long description via aria-describedby.

Step 3: Documenting Limitations

1.4.3 Contrast (Minimum) (Level AA)
  Criteria: Partially Supports
  Remarks: Most text meets 4.5:1 contrast ratio requirement.
           Exception: placeholder text in form fields uses #9ca3af
           on white background (2.7:1 ratio). Fix planned in Q2 2025.
           Workaround: Users can use browser high contrast mode.

Automated Draft Generation

// scripts/generate-vpat-draft.js
// Create VPAT draft based on axe-core report

const WCAG_CRITERIA = require('./wcag-criteria.json');  // All criteria list

async function generateVpatDraft(axeReport) {
  const violations = new Set(axeReport.violations.map(v => v.tags).flat()
    .filter(t => t.startsWith('wcag')));

  const draft = WCAG_CRITERIA.map(criterion => ({
    id:       criterion.id,
    title:    criterion.title,
    level:    criterion.level,
    support:  violations.has(criterion.wcag_tag) ? 'Partially Supports' : 'Supports',
    remarks:  violations.has(criterion.wcag_tag)
      ? `Automated testing found issues: ${axeReport.violations.filter(v => v.tags.includes(criterion.wcag_tag)).map(v => v.description).join('; ')}`
      : 'No issues detected in automated testing. Manual verification recommended.',
  }));

  // Generate Markdown
  return draft.map(c =>
    `### ${c.id} ${c.title} (Level ${c.level})\n\n**${c.support}**\n\n${c.remarks}\n`
  ).join('\n');
}

The draft requires mandatory manual review — automation covers approximately 40% of criteria.

What Is Usually Checked Manually

  • Keyboard navigation (Tab/Shift+Tab/Enter/Space/Escape/arrows)
  • Compatibility with NVDA, JAWS, VoiceOver
  • Zoom 200% and 400% without functionality loss
  • Windows high contrast mode
  • Animations with prefers-reduced-motion
  • Session timeouts and warnings

Timeline

Product audit, VPAT 2.4 completion, and review: 5–10 business days depending on product complexity.