Template · Issue and pull request

Accessibility issue Templates for GitHub and GitLab

An issue template that asks for what a developer needs to fix an accessibility problem: where it is, the steps, who it affects and how badly, and the browser and assistive technology it happened with. And a pull request checklist, so each change is checked for the keyboard, focus, names, contrast, zoom and more before it is merged.

Version
1.0
Updated
2026-10-07
Works with
GitHub, GitLab
Standard
WCAG 2.2
Format
Markdown
Licence
CC0 1.0

Download

The files

Plain text files you can open anywhere.

Markdown

Issue template

accessibility-issue.md

A GitHub issue template with eleven sections for reporting an accessibility problem. The guidance is in HTML comments, which show while the issue is written but not once it is posted.

Format
Markdown text (.md)
Size
2,645 bytes
Contents
75 lines

Preview: the first 22 lines

---
name: Accessibility issue
about: Report something on the site that people with disabilities find hard or impossible to use.
title: "Accessibility: "
labels: accessibility
assignees: ''
---

<!--
Template version 1.0, 2026-10-07, from https://auricartisan.com/templates/accessibility-issue/
Licence: CC0 1.0 (https://creativecommons.org/publicdomain/zero/1.0/). Copy it, change it and use it for anything; no credit needed.
Text between these comment marks does not show in the issue. Fill in what you know and leave the rest: you do not need to know WCAG to report a problem.
-->

## Summary

<!-- One or two sentences: what is wrong, and where. -->

## Where

<!-- The page's address, or the name of the screen in an app, and the part of it. Give the component's name if you know it. -->
Download the file

Markdown

Pull request checklist

pull-request-checklist.md

A pull request template with eleven accessibility checks for the reviewer to tick, each with the WCAG criteria it covers.

Format
Markdown text (.md)
Size
3,818 bytes
Contents
46 lines

Preview: the first 24 lines

<!--
Template version 1.0, 2026-10-07, from https://auricartisan.com/templates/accessibility-issue/
Licence: CC0 1.0 (https://creativecommons.org/publicdomain/zero/1.0/). Copy it, change it and use it for anything; no credit needed.
Text between these comment marks does not show in the pull request.
-->

## What this changes

<!-- What the pull request does, and the issue it closes, such as Closes #123. -->

## How to test

<!-- The pages or screens to open, and what to do there. -->

## Accessibility checklist

<!--
For the reviewer: tick each check you made on the pages or components this changes. If a check cannot apply, such as Images when nothing visual changed, write n/a and why after it. The numbers are WCAG 2.2 success criteria.
-->

- [ ] **Keyboard.** Everything that works with a mouse or touch also works with the keyboard alone, in an order that makes sense, and focus never gets stuck.
      WCAG: 2.1.1 Keyboard; 2.1.2 No Keyboard Trap; 2.4.3 Focus Order
- [ ] **Visible focus.** You can always see which element has focus, and no sticky header, footer or banner covers it completely.
      WCAG: 2.4.7 Focus Visible; 2.4.11 Focus Not Obscured (Minimum)
Download the file

Licence: CC0 1.0 Universal, a public domain dedication. Copy, change and use these files for anything, including paid work, without asking or giving credit. The files are plain ASCII text in English, so they open the same everywhere.

What goes in it

What the templates ask for

The issue template has eleven sections, in the order a developer reads them. A reporter fills in what they know, and whoever triages the issue adds the rest.

  1. Summary. One or two sentences: what is wrong, and where.
  2. Where. The page's address or the app's screen, and the part of it, with the component's name if the reporter knows it.
  3. Steps to reproduce. The fewest steps that show the problem, including the keys pressed or the words spoken.
  4. Expected. What should happen, such as: the menu opens and focus moves into it.
  5. Actual. What happens instead, in plain words.
  6. Who is affected, and how. Who cannot do what, and what that stops them doing: the effect on people that the severity is judged by.
  7. WCAG criterion. The number, name and level if the reporter knows them, such as 2.1.1 Keyboard (Level A). It can be left for triage.
  8. Severity. Critical, High, Medium or Low, by the effect on people, with each one defined in the template.
  9. Environment. The browser, the operating system and any assistive technology, each with its version, and settings such as zoom or reduced motion.
  10. Screenshots or recording. An image or a short video; for a screen reader problem, a recording with sound or the exact words it read out.
  11. Suggested fix. Optional: a fix, or a pattern to follow.
  12. The pull request checklist. Eleven checks a reviewer ticks: keyboard, visible focus, names and labels, headings and landmarks, contrast, zoom and reflow, images, motion, form errors, an automated check and a screen reader smoke test.

Example

A filled-in issue

One problem on Example Shop, a made-up store, as a tester might report it.

A filled-in issue (table)
SectionWhat the reporter wrote
SummaryThe size buttons on product pages cannot be used with a keyboard.
WhereThe size picker (the SizePicker component) on product pages, such as https://example.org/products/linen-shirt/
Steps to reproduce1. Open the page. 2. Press Tab until focus passes the product photos. 3. Try to choose size M.
ExpectedThe sizes can be reached with Tab and chosen with the keyboard, and a screen reader says which size is selected.
ActualTab skips the sizes, because they are div elements with click handlers. Pressing Add to basket then shows Choose a size.
Who is affected, and howPeople who use a keyboard or a switch cannot choose a size, so they cannot buy the shirt. Screen reader users are not told the sizes can be chosen, or which one is.
WCAG criterion2.1.1 Keyboard (A); 4.1.2 Name, Role, Value (A)
SeverityCritical: it blocks buying.
EnvironmentFirefox 140, Windows 11, NVDA 2025.1; Safari 18, macOS 15, VoiceOver
Screenshots or recordingA short screen recording with NVDA's speech, showing focus jump from the photos straight to Add to basket.
Suggested fixUse radio buttons styled as the size buttons, in a fieldset with the legend Size, so the keyboard and screen readers work without extra script.

The severity is Critical because the problem stops some people from doing a task, buying; the criterion's level does not decide it.

How to use it

Add the templates to a repository

  1. On GitHub, add the issue template. Save accessibility-issue.md in the folder .github/ISSUE_TEMPLATE/ on the repository's default branch. It then appears in the list of templates when someone opens a new issue. GitHub Docs: Configuring issue templates for your repository
  2. Add the pull request checklist. Save pull-request-checklist.md as .github/pull_request_template.md on the default branch, and each new pull request starts with it. If the repository has a pull request template already, add the checklist to it.
  3. Create the label. The issue template adds the label accessibility. Create that label in the repository if it does not have one, or change the labels line to a label you use.
  4. On GitLab, delete the front matter. GitLab description templates are plain Markdown, so delete the block from the first --- line to the second. Save the files as .gitlab/issue_templates/Accessibility.md and .gitlab/merge_request_templates/Accessibility.md on the default branch, and people can pick them from the description template list. To add the label, put the quick action /label ~accessibility on a line of its own. GitLab Docs: Description templates
  5. Triage each report. Check the severity against the scale, add the criterion if the reporter left it blank, and give the issue an owner and a date. Find the criterion in WCAG 2.2

Judge it by people

Severity is about people, not levels

Severity says how badly a problem affects the people who meet it. It is not the level of the criterion: a Level AA failure can be Critical, and a Level A failure can be Low.

Anyone can report a problem, and a reporter does not need to know WCAG. The steps and the effect on people matter more; the criterion can be added at triage.

Next

Related templates and tools

Sources

Where this comes from

Written by Auric Artisan. Not yet reviewed by an independent accessibility specialist.

Suggest a change to the template