Skip to content

Remarks and Explanations — Writing Clear Conformance Notes

DodaTech Updated 2026-06-28 5 min read

In this tutorial, you will learn about Remarks and Explanations. We cover key concepts, practical examples, and best practices to help you master this topic.

VPAT remarks and explanations provide the justification for each conformance rating, describing what was tested, how it passes or fails, and any exceptions or limitations that affect the rating.

What You'll Learn

You will learn how to write clear, specific, and useful remarks for every VPAT criteria table entry, how to structure explanations, and how to avoid common pitfalls.

Why It Matters

Remarks are the most-read part of a VPAT. Buyers use remarks to understand whether your product meets their specific needs. Vague or missing remarks undermine the entire report.

Real-World Use

DodaTech's VPAT includes a standardized remarks format: testing method, test environment, result summary, and any exceptions. This pattern makes every entry consistent and audit-ready.

flowchart LR
  A[Remark] --> B[Testing Method]
  A --> C[Environment]
  A --> D[Result Summary]
  A --> E[Exceptions]
  B --> F[Automated / Manual / Both]
  C --> G[Browser, OS, AT version]
  D --> H[Key findings]
  E --> I[Known limitations]

The Four-Part Remark Structure

Testing Method

State how the criterion was evaluated: automated tool, manual keyboard test, screen reader test, or code review.

Environment

Document the browser, operating system, assistive technology, and versions used during testing.

Result Summary

Summarize whether the criterion is fully met, partially met, or not met. Include specific evidence from testing.

Exceptions

Document any known exceptions. For Partially Supports ratings, this section is mandatory.

function formatRemark(method, environment, summary, exceptions) {
  const parts = [
    `Method: ${method}`,
    `Environment: ${environment}`,
    `Result: ${summary}`
  ];

  if (exceptions.length > 0) {
    parts.push(`Exceptions: ${exceptions.join('; ')}`);
  }

  return parts.join('. ');
}

const remark1 = formatRemark(
  'Automated scan with axe DevTools 4.8 + manual NVDA review',
  'Chrome 125, Windows 11, NVDA 2024.1',
  'All 47 images have appropriate alt text. 43 informational, 4 decorative with empty alt.',
  []
);

const remark2 = formatRemark(
  'Manual color contrast check with Colour Contrast Analyser',
  'Chrome 125, macOS 14.5',
  'Primary text meets 4.5:1 minimum. Disabled button text at 3.0:1 does not meet 4.5:1.',
  ['Disabled button text (3.0:1) fails SC 1.4.3. See appendix for affected components.']
);

console.log(remark1);
console.log('');
console.log(remark2);

Expected output:

Method: Automated scan with axe DevTools 4.8 + manual NVDA review. Environment: Chrome 125, Windows 11, NVDA 2024.1. Result: All 47 images have appropriate alt text. 43 informational, 4 decorative with empty alt.

Method: Manual color contrast check with Colour Contrast Analyser. Environment: Chrome 125, macOS 14.5. Result: Primary text meets 4.5:1 minimum. Disabled button text at 3.0:1 does not meet 4.5:1. Exceptions: Disabled button text (3.0:1) fails SC 1.4.3. See appendix for affected components.

Examples by Rating Type

Supports

All form controls have programmatically associated labels. Tested with NVDA 2024 on Chrome 125. No exceptions.

Partially Supports

Most headings use proper h1-h6 hierarchy. Three pages use styled div elements instead of headings. Exception tracked as VPAT-2026-014.

Does Not Support

Video content does not have synchronized captions. Captioning implementation is scheduled for Q3 2026.

Not Applicable

No time-based media or audio content exists in this product. Criterion 1.2.1 does not apply.

<!-- Example remark display in an accessible table -->
<table aria-label="VPAT criteria excerpt">
  <caption>Sample criteria table with remarks</caption>
  <thead>
    <tr>
      <th scope="col">Criteria</th>
      <th scope="col">Rating</th>
      <th scope="col">Remarks</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1.1.1 Non-text Content</td>
      <td>Supports</td>
      <td>All images have descriptive alt text. Decorative images use empty alt. Tested with NVDA 2024.</td>
    </tr>
    <tr>
      <td>1.4.3 Contrast Minimum</td>
      <td>Partially Supports</td>
      <td>Primary text meets 4.5:1. Disabled buttons at 3.0:1. Exception documented in Appendix A.</td>
    </tr>
  </tbody>
</table>

Common Mistakes

1. Writing Vague Remarks

"Works fine" or "Passes" tells the buyer nothing. Every remark must be specific about what was tested and the result.

2. Omitting the Testing Method

Without mentioning the method, the buyer cannot assess the remark's reliability.

3. Copying Remarks Across Criteria

Each criterion is different. Copying the same remark to multiple criteria is a red flag.

4. Not Referencing Exceptions

If an exception exists, reference it by ID or appendix location. Buyer needs to find details.

5. Using Jargon Without Explanation

Terms like "ARIA landmark" or "focus-visible" may not be understood by procurement reviewers. Explain briefly.

6. Writing Too Little or Too Much

One sentence for a complex criterion is insufficient. A paragraph for a simple pass is excessive. Aim for 2-4 sentences.

7. Contradicting the Rating

If the remark describes failures but the rating is Supports, the VPAT is internally inconsistent. Fix the rating or the remark.

Practice Questions

1. What are the four parts of a well-structured VPAT remark?

Testing method, environment, result summary, and exceptions.

2. Why should remarks vary across different criteria?

Each criterion requires different testing methods and has different results. Copying remarks undermines credibility.

3. What should a Partially Supports remark always include?

Specific exceptions with enough detail for the buyer to understand the impact.

4. How can you make remarks accessible to non-technical buyers?

Avoid jargon. If technical terms are necessary, provide brief explanations in parentheses.

5. Challenge: Write remarks for three criteria: 1.1.1 (Supports), 1.4.3 (Partially Supports), and 2.1.1 (Supports). Use the four-part structure.

FAQ

Can I use the same remark format for every criterion?

Yes, use the same structure but customize the content. The format ensures consistency; the content must be specific to each criterion.

How do I handle criteria I did not test?

Either test them before publishing the VPAT or state honestly in the remark that the criterion was not evaluated. Blank remarks are worse than honest statements.

Should I mention known bugs in remarks?

Yes. Known bugs with tracking IDs show transparency and proactive issue management.

Can remarks include links to documentation?

Yes. Link to test results, bug reports, or component documentation. Ensure links are accessible.

How often should remarks be updated?

Remarks should be reviewed and updated with each VPAT revision, at minimum annually.

Mini Project

Take an existing VPAT criteria table. Rewrite all remarks using the four-part structure. Compare your version to the original and identify improvements.

What's Next

Learn about Legal Disclaimers in VPATs and how they protect your organization. Then explore the VPAT Submission Process.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro