Markdown Editor

Documentation Review Checklist Template (WCAG 2.2, Diátaxis)

Docs review gate: roles, severity, accuracy, task test, style, terms, links, code samples, WCAG 2.2, localisation, Diátaxis type, findings, sign-off

Documentation et assistanceCompletISO/IEC/IEEE 26513:2017 (structure); WCAG 2.2; DiátaxisCC BY-SA 4.0reviewchecklist

Mode d'emploi: Use it when a docs page, pull request or release needs a documented review before publish. Fill the scope, roles and severity rules first, then run the nine checklists and log every Fail as a finding. The main pitfall is approving technical accuracy from memory instead of task-testing every step on a clean environment.

Aperçu

Documentation Review Checklist: [Page, pull request or release name]

Review gate for one documentation page, one docs pull request or one docs release: scope and trigger, reviewer roles, workflow, severity rules, and nine checklists covering technical accuracy with subject matter expert (SME) sign-off, task testability, style, terminology, links, runnable code samples, accessibility against WCAG 2.2 (W3C Recommendation, 12 December 2024), localisation readiness and Diátaxis type purity, followed by a findings log and the sign-off. Structure aligned with the test and review concepts of ISO/IEC/IEEE 26513:2017 (requirements for testers and reviewers of information for users) and with the Diátaxis documentation framework. Replace every [bracketed] value and every row marked Example.

Document control

FieldValue
Document ID[DRC-001]
Item under review[Page path, pull request number or docs release tag]
Content version or commit[Commit SHA or docs version]
Product version documented[Product name] [Version]
Diátaxis type(s)[Tutorial / How-to guide / Reference / Explanation]
Review type[New page / Major revision / Minor edit / Release review]
Version[0.1]
Status[Draft / In review / Approved / Approved with conditions / Rejected]
Owner[@docs-owner]
Approvers/reviewers[@sme], [@editor], [@accessibility-reviewer], [@localisation-lead]
Review windowYYYY-MM-DD to YYYY-MM-DD
Classification[Public / Internal]
Last updatedYYYY-MM-DD

Approvals

RoleNameDecisionDate
Subject matter expert[@name][Approve / Approve with conditions / Reject]YYYY-MM-DD
Docs editor[@name][Decision]YYYY-MM-DD
Docs owner (final sign-off)[@name][Decision]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]First review pass recorded
0.2YYYY-MM-DD[@name]Example: SME findings added after test run
1.0YYYY-MM-DD[@name]Example: All blocking findings closed, approved for publish

Contents

1. Review scope and trigger

ItemValue
Trigger[New feature / Product change / Defect report / Scheduled re-verification / Audit finding]
Pages in scope[List of page paths]
Pages explicitly out of scope[List, with reason]
Related product change[Ticket, pull request or release note entry]
Environment used for testing[Product version, plan or tier, operating system, browser]
Checklists that apply[A, B, C, D, E, F, G, H, I]
Checklists marked N/A[For example: F, the page has no code; reason recorded]

Example: Corvid Commerce adds an order.refunded webhook event. The pull request changes the how-to guide "Receive order events with webhooks" and the reference page "Webhook event types". Both pages are in scope; the "Webhooks explained" page is out of scope because no concept changed. All nine checklists apply.

Use these depth rules to keep effort proportional:

Review typeMinimum checklistsWho must sign
New pageAll nineSME, editor, docs owner
Major revision (procedure, default, limit or behaviour changes)A, B, C, D, E, F, G, I; H when the page is localisedSME, editor, docs owner
Minor edit (typo, wording, link fix)C, D, EEditor
Release reviewAll nine on a sample of pages chosen by riskDocs owner, plus SME per area

2. Reviewer roles and responsibilities

RoleResponsibilityChecklists ownedName
AuthorPrepares the page, runs the automated checks, answers findingsPre-review self-check of all lists[@author]
Subject matter expert (SME)Confirms the content is technically true for the stated versionA, F[@sme]
Task testerFollows every step on a clean environment exactly as writtenB[@tester]
Docs editorStyle, voice, structure, terminology, links, type purityC, D, E, I[@editor]
Accessibility reviewerChecks images, headings, links, media and diagramsG[@a11y-reviewer]
Localisation leadConfirms the source is ready for translationH[@l10n-lead]
Docs ownerResolves disputes, takes the publish decisionSection 15[@docs-owner]

Reviewer rules:

  • Review the rendered preview as well as the source. Many defects (broken tables, collapsed lists, missing images) only show when rendered.
  • Record every finding in section 14, even when you fix it yourself, so the pattern is visible in the next content audit.
  • Comment on the content, not on the author. Suggest a fix with each finding where you can.
  • An SME confirms facts; the SME does not rewrite for style. An editor improves wording; the editor does not change facts without the SME.

3. Review workflow

StepEntry conditionExit conditionTarget duration
1. Author self-checkDraft completeAll lists pre-checked by the author[1 day]
2. Automated checksPull request openedStyle linter, Markdown linter, link checker and docs build pass[Minutes]
3. SME review and task testAutomated checks passChecklists A, B and F complete[2 business days]
4. Editorial reviewSME review completeChecklists C, D, E and I complete[1 business day]
5. Accessibility and localisationEditorial review completeChecklists G and H complete[1 business day]
6. Sign-offNo open Blocker or Major findingsDecision recorded in section 15[Same day]

The automated tooling (style linter rules, Markdown linter configuration, link checker) is defined in the Docs Contribution Guide (docs/docs-contribution-guide). Do not duplicate its configuration here; record only whether each tool passed in section 15.

4. Severity and decision rules

SeverityMeaningPublish rule
BlockerThe reader would fail, lose data, create a security exposure or break the law by following the pageMust be fixed before publish
MajorA step, value or claim is wrong or missing and the reader would likely get stuck; an accessibility barrier existsMust be fixed before publish, or the docs owner accepts it in writing with a fix date
MinorThe reader can succeed but with friction: unclear wording, a missing cross-link, inconsistent termFix before publish or log for the next edit
SuggestionImprovement idea with no defectOptional

Decision rules:

  1. Any open Blocker means Reject.
  2. Any open Major without a written acceptance means Reject.
  3. Open Majors with acceptance, or more than [5] open Minors, means Approve with conditions, with the conditions listed in section 15.
  4. Otherwise, Approve.

5. Checklist A: Technical accuracy

IDCheckHow to verifyResultFinding
TA-01Every factual claim (behaviour, default, limit, quota, price, timing) matches the documented product versionCompare with the source code, API description, configuration schema or product UI[Pass / Fail / N/A][DRF-NNN]
TA-02Names of UI elements, commands, parameters, fields and error messages match the product exactlyCompare character by character with the product or generated reference[Result][Finding]
TA-03Version applicability is stated (which versions, plans, editions or platforms the page covers)Read the page header or applicability note[Result][Finding]
TA-04Prerequisites and permissions needed are complete and correctTry the task with a role that has only the listed permissions[Result][Finding]
TA-05Warnings cover every step that can destroy data, expose secrets or cause costSME lists risky steps and confirms each carries a warning[Result][Finding]
TA-06Security guidance is current: no hard-coded secrets, least privilege shown, insecure options labelledSME and security champion review[Result][Finding]
TA-07Limits, rate limits and error behaviour match the service contractCompare with the reference page and the service level documents[Result][Finding]
TA-08Deprecated features are marked and point to the replacementCompare with the deprecation notice and changelog[Result][Finding]
TA-09Screenshots and diagrams reflect the current UI and architectureCompare with the running product[Result][Finding]
TA-10The SME has recorded a sign-off with name and date in the approvals tableCheck the approvals table[Result][Finding]

Example: TA-01 Fail, finding DRF-001: the page states that webhook retries stop after 3 attempts; the Corvid Commerce delivery service retries 8 times over 24 hours.

6. Checklist B: Task testability

IDCheckHow to verifyResultFinding
TB-01The tester followed every step literally, in order, on a clean environmentTester notes environment and start state[Pass / Fail / N/A][DRF-NNN]
TB-02Each step has one action, and the expected result is stated after any step that changes stateRead each step[Result][Finding]
TB-03The end state is stated and verifiable ("You should now see ...")Tester confirms the stated result appeared[Result][Finding]
TB-04No step relies on knowledge the page does not give or link toTester flags every point where they had to guess[Result][Finding]
TB-05Optional and conditional steps are clearly marked with their conditionRead conditional steps[Result][Finding]
TB-06Error paths that a reader is likely to hit are covered or linked to troubleshootingTester deliberately triggers the most common error[Result][Finding]
TB-07Cleanup or rollback is described when the task creates resources that cost money or hold dataTester performs the cleanup[Result][Finding]
TB-08Time to complete is realistic if the page states oneTester records actual time[Result][Finding]
Test runTesterEnvironmentStart stateResultTime taken
RUN-001 (Example)[@tester]Corvid Commerce sandbox, v[5.2], Linux, ChromeNew sandbox account, no webhooksCompleted with one guess at step 4 (DRF-002)14 minutes
[RUN-NNN][@name][Environment][State][Result][Minutes]

7. Checklist C: Style and voice

IDCheckHow to verifyResultFinding
ST-01The page follows the organisation style guide (docs/style-guide-technical)Style linter passes; editor reads the page[Pass / Fail / N/A][DRF-NNN]
ST-02Second person, active voice and present tense in instructionsEditor reads instructions[Result][Finding]
ST-03Headings are task or topic based, parallel in form and in sentence case if the guide requires itRead the heading outline[Result][Finding]
ST-04Sentences are short; one idea per paragraph; lists used for sequences and setsEditor read-through[Result][Finding]
ST-05No marketing language, idioms, jokes or culture-specific references that block understandingEditor read-through[Result][Finding]
ST-06Inclusive language: no gendered defaults, no ableist or exclusionary termsLinter rule and editor read-through[Result][Finding]
ST-07Numbers, dates, units and UI formatting follow the guide (bold for UI labels, code font for literals)Editor read-through[Result][Finding]
ST-08The page title and description tell the reader what they will getRead title, description metadata and first paragraph (maps to 2.4.2 Page Titled (A))[Result][Finding]

8. Checklist D: Terminology

IDCheckHow to verifyResultFinding
TM-01Every product term matches the preferred term in the Termbase (docs/termbase)Linter vocabulary list plus editor check[Pass / Fail / N/A][DRF-NNN]
TM-02No deprecated or rejected terms appearLinter reject list[Result][Finding]
TM-03Each new term is defined at first use or linked to the Glossary (docs/glossary)Editor check[Result][Finding]
TM-04Abbreviations are expanded at first use on the pageEditor check[Result][Finding]
TM-05Trademarks and third-party product names are spelled as their owners spell themEditor check[Result][Finding]
TM-06New terms introduced by this change have a termbase entry requestCheck the termbase change log[Result][Finding]

9. Checklist E: Links and references

IDCheckHow to verifyResultFinding
LK-01Link checker reports no broken internal or external linksLink checker output attached to the pull request[Pass / Fail / N/A][DRF-NNN]
LK-02Each link goes to the most specific relevant page or anchor, not a home pageEditor follows each link[Result][Finding]
LK-03External links go to authoritative, stable sources; versioned links where the source versionsEditor check[Result][Finding]
LK-04Moved or renamed pages have redirects, per the information architectureCheck redirect map (docs/information-architecture)[Result][Finding]
LK-05Cross-links to the other Diátaxis types are present where a reader would need themEditor check[Result][Finding]
LK-06Links to known issues, release notes and changelog entries are currentCompare with Known Issues (docs/known-issues)[Result][Finding]

10. Checklist F: Code samples

IDCheckHow to verifyResultFinding
CS-01Every copyable sample runs without modification against the stated version, or placeholders are obvious and explainedRun each sample; CI sample tests where they exist[Pass / Fail / N/A][DRF-NNN]
CS-02Samples contain no real credentials, tokens, personal data or internal hostnamesSecret scanner plus SME check[Result][Finding]
CS-03Fenced code blocks declare a language for highlightingMarkdown linter[Result][Finding]
CS-04Command prompts and output are separated so copy-paste worksCopy each block into a terminal[Result][Finding]
CS-05Expected output is shown for commands whose output the reader must checkRead samples[Result][Finding]
CS-06Samples show secure defaults (TLS, signature verification, least privilege scopes)SME check[Result][Finding]
CS-07Dependencies and their versions are stated for each sampleSME check[Result][Finding]
CS-08Long samples link to a complete, maintained repository or fileFollow the link[Result][Finding]

Example: CS-06 Fail, finding DRF-003: the Node.js webhook receiver sample parses the body before verifying the signature header. The SME supplies a corrected sample that verifies first.

11. Checklist G: Accessibility

IDCheckWCAG 2.2 success criterionResultFinding
AC-01Every informative image has alt text that conveys its purpose; decorative images have empty alt text1.1.1 Non-text Content (A)[Pass / Fail / N/A][DRF-NNN]
AC-02Complex diagrams have a text equivalent (caption, description or the Mermaid source in a details block)1.1.1 Non-text Content (A)[Result][Finding]
AC-03Headings form a logical outline with no skipped levels (a house rule, not a WCAG failure on its own); one H11.3.1 Info and Relationships (A); 2.4.6 Headings and Labels (AA)[Result][Finding]
AC-04Tables have header rows and are used for data, not layout1.3.1 Info and Relationships (A)[Result][Finding]
AC-05Link text says where the link goes; no bare "click here" or "this page"2.4.4 Link Purpose (In Context) (A)[Result][Finding]
AC-06Instructions do not rely only on shape, colour, size or position ("the green button on the right")1.3.3 Sensory Characteristics (A); 1.4.1 Use of Color (A)[Result][Finding]
AC-07Text in diagrams and essential callouts meets contrast; screenshots used to convey instructions are legible (house rule where the 1.4.3 incidental-text exception applies); lines and shapes that carry meaning meet non-text contrast1.4.3 Contrast (Minimum) (AA); 1.4.11 Non-text Contrast (AA)[Result][Finding]
AC-08No important text exists only as an image of text1.4.5 Images of Text (AA)[Result][Finding]
AC-09Videos have accurate captions and a descriptive transcript or audio description; audio-only or video-only media have an alternative (see Screencast Script (docs/screencast-script))1.2.1 Audio-only and Video-only (Prerecorded) (A); 1.2.2 Captions (Prerecorded) (A); 1.2.3 Audio Description or Media Alternative (Prerecorded) (A); 1.2.5 Audio Description (Prerecorded) (AA)[Result][Finding]
AC-10Passages in another language are marked with their language3.1.2 Language of Parts (AA)[Result][Finding]
AC-11Wide tables and code blocks scroll within their container and the page reflows at narrow widths1.4.10 Reflow (AA)[Result][Finding]

Record the tools used (for example an automated accessibility engine plus a screen reader spot check) in the findings log. Automated tools find only part of the issues; AC-01, AC-02, AC-05 and AC-06 need human judgement.

12. Checklist H: Localisation readiness

IDCheckHow to verifyResultFinding
LR-01Sentences are complete and unambiguous; no strings built from fragmentsEditor and localisation lead read-through[Pass / Fail / N/A][DRF-NNN]
LR-02Terms match the termbase so translation memory and termbase lookups hitTermbase check[Result][Finding]
LR-03Text that must not be translated (code, commands, product names) is in code font or marked as do-not-translateLocalisation lead check[Result][Finding]
LR-04Screenshots avoid embedded text where possible, or have a plan for localised capturesLocalisation lead check[Result][Finding]
LR-05Dates, numbers, currencies and units use an unambiguous format (ISO 8601 dates, explicit currency codes)Editor check[Result][Finding]
LR-06Layout tolerates text expansion and right-to-left scripts where in scopePreview with a pseudo-localised build[Result][Finding]
LR-07No idioms, puns or wordplay that cannot be translatedEditor check[Result][Finding]
LR-08Translator notes are added for ambiguous stringsCheck the notes file or comments[Result][Finding]

13. Checklist I: Diátaxis type purity

IDCheckHow to verifyResultFinding
DT-01The page has one declared type, recorded in its metadataRead front matter[Pass / Fail / N/A][DRF-NNN]
DT-02Tutorial: a guided lesson with a safe, repeatable path and a visible result at each stage; no choices, no deep explanationEditor check[Result][Finding]
DT-03How-to guide: addresses one real goal for a reader who already knows the basics; steps only, explanation linked outEditor check[Result][Finding]
DT-04Reference: neutral, complete and structured like the thing it describes; no instructions or opinionsEditor check[Result][Finding]
DT-05Explanation: discusses context, reasons and alternatives; no step-by-step instructionsEditor check[Result][Finding]
DT-06Content belonging to another type has been moved and linked rather than kept inlineEditor check[Result][Finding]
DT-07The page sits in the navigation section for its type, per the information architectureCheck the site map[Result][Finding]

Example: DT-03 Fail, finding DRF-004 (Minor): the webhook how-to spends three paragraphs on why HMAC signatures are used. Move them to "Webhooks explained" and leave a one-line link.

14. Findings log

Finding IDCheckSeverityLocationDescriptionProposed fixOwnerStatus
DRF-001 (Example)TA-01Blockerhow-to/receive-order-events, step 6Retry count stated as 3; service retries 8 times over 24 hoursReplace with values from the delivery service reference[@author]Fixed, verified by [@sme]
DRF-002 (Example)TB-04Majorhow-to/receive-order-events, step 4Page does not say where to find the signing secretAdd the console path and link to the reference[@author]Fixed
DRF-003 (Example)CS-06MajorCode sample "receiver.js"Body parsed before signature verificationUse the SME-supplied sample[@sme]Fixed
DRF-004 (Example)DT-03Minorhow-to/receive-order-events, introExplanation mixed into a how-to guideMove to explanation page, add link[@author]Open, next edit
DRF-005 (Example)AC-01MajorScreenshot "webhook-settings.png"Alt text is the file nameWrite alt text describing the settings panel state[@author]Fixed
[DRF-NNN][Check ID][Severity][Page and location][What is wrong][Fix][@owner][Open / Fixed / Accepted / Won't fix]

Summary of the example log: 5 findings, of which 1 Blocker, 3 Major and 1 Minor; 4 fixed and 1 open Minor. Recount these figures whenever you change the log.

15. Sign-off and publish decision

ItemValue
Style linter[Pass / Fail], tool and version [name x.y.z]
Markdown linter[Pass / Fail], tool and version [name x.y.z]
Link checker[Pass / Fail]
Docs build and preview[Pass / Fail], preview URL [link]
Open Blocker findings[0]
Open Major findings (accepted in writing)[0]
Open Minor findings[Number]
Decision[Approve / Approve with conditions / Reject]
Conditions (if any)[Condition, owner, due date]
Last verified date to record on the pageYYYY-MM-DD
Next verify dateYYYY-MM-DD ([6 / 12] months, or at next product release)
Signed by[@docs-owner], YYYY-MM-DD

Example: Decision Approve: the one open finding is Minor (DRF-004) and is scheduled for the next edit. Next verify date set 6 months out because webhook behaviour changes often.

16. Traceability of checks to sources

ChecklistCheck IDsSource or ruleNote
A Technical accuracyTA-01 to TA-10ISO/IEC/IEEE 26513:2017 review concepts (technical review by qualified reviewers)Concept alignment only; no ISO text reproduced
B Task testabilityTB-01 to TB-08ISO/IEC/IEEE 26513:2017 test concepts (testing information against the real system and with representative users)Concept alignment only
C Style and voiceST-01 to ST-08Technical Style Guide (docs/style-guide-technical)Internal rule
D TerminologyTM-01 to TM-06Termbase (docs/termbase), Glossary (docs/glossary)Internal rule
E LinksLK-01 to LK-06Information Architecture (docs/information-architecture)Internal rule
F Code samplesCS-01 to CS-08Docs Contribution Guide (docs/docs-contribution-guide)Internal rule
G AccessibilityAC-01 to AC-11WCAG 2.2, success criteria listed per rowLevel A and AA
H Localisation readinessLR-01 to LR-08Localisation Brief (docs/localization-brief)Internal rule
I Diátaxis type purityDT-01 to DT-07Diátaxis framework (diataxis.fr)CC BY-SA 4.0 concepts, adapted

17. Glossary and references

17.1 Glossary

TermMeaning in this checklist
SMESubject matter expert who confirms technical truth for the stated version
Task testFollowing a procedure literally on a clean environment to confirm it works
FindingA recorded failure of one check, with severity and owner
Type purityA page serving one Diátaxis form only
Verify dateThe date the content was last confirmed as accurate
Pseudo-localisationA build that replaces source text with expanded, accented text to expose layout and string problems before translation

17.2 References

ReferenceVersion or date checkedUse
ISO/IEC/IEEE 26513:2017, Systems and software engineering: Requirements for testers and reviewers of information for usersEdition 1, 2017; a second edition titled "Testing and reviewing of information for users" was at final draft stage when checked on 2026-10-24Review and test concepts, structure only
W3C, Web Content Accessibility Guidelines (WCAG) 2.2, https://www.w3.org/TR/WCAG22/W3C Recommendation, 12 December 2024Success criteria numbers and short names
Diátaxis, Daniele Procida, https://diataxis.fr/Checked 2026-10-24The four documentation forms
Google developer documentation style guide, https://developers.google.com/styleChecked 2026-10-24Further reading for style rules (CC BY 4.0); no text adapted
[Internal style guide, termbase, contribution guide][Version][Rules applied]

Standard and licence note

Structure aligned with the test and review concepts of ISO/IEC/IEEE 26513:2017 (requirements for testers and reviewers of information for users); no ISO text, table or definition is reproduced, and only the standard's name and general concepts are referenced. Accessibility checks cite WCAG 2.2 (W3C Recommendation, 12 December 2024) by success criterion number and short name only; the WCAG text is available under the W3C Document License. Checklist I adapts the four documentation forms of the Diátaxis framework by Daniele Procida (https://diataxis.fr), licensed under CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0/); material adapted from Diátaxis is shared under the same licence, so if you adapt Checklist I further you must keep this attribution and share it under CC BY-SA 4.0. This template is otherwise original text written for this collection. ISO/IEC/IEEE 26513 is being revised: check the current official editions of every cited standard before use. Template licence: MIT.

Modèles associés