You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 53b80e9
Browse filesBrowse the repository at this point in the historyBrowse files
docs: adopt the Open Source Accessibility Framework (#269)
Add ACCESSIBILITY.md with priorities, contributor expectations,
interface requirements, reporting (form and email), severity, response,
ways to take part and accommodations, ownership, dependencies and
upstream blockers, supported environments, known limitations, progress
updates, recognition with consent and reusable materials.
Add a dependency-free Markdown accessibility check with a baseline,
its tests and a CI workflow; a quarterly accessibility review reminder
workflow; and test records for the core flows in
admin/ACCESSIBILITY_CORE_FLOWS.md (written, not yet run).
Rework the accessibility bug report form (two required fields, severity,
email alternative), add a full accessibility checklist to the pull
request template, point CONTRIBUTING.md and README.md at the new
document, and fix four documentation findings: a skipped heading level
in Appendix Z, a second H1 in Appendix L, empty table headers on the
registration pages, and a stray line above the CONTRIBUTING.md title.
Claude-Session: https://claude.ai/code/session_01PmRBrUTuhzYnQBFxUCN6Vr
Co-authored-by: Claude <noreply@anthropic.com>
description: Report a keyboard navigation, screen reader, or other accessibility issue
2
+
description: Something in this workshop is hard or impossible to use with your setup, including a screen reader, magnifier, braille display or keyboard alone.
3
3
title: "[A11Y] "
4
4
labels: ["accessibility", "bug"]
5
5
assignees: []
6
6
body:
7
7
- type: markdown
8
8
attributes:
9
9
value: |
10
-
Thanks for taking the time to file an accessibility bug report. The more detail you provide, the faster it can be reproduced and fixed. All fields marked as required are needed to triage your report.
10
+
Thank you for telling us. Accessibility reports are expertise, not complaints, and partial reports are welcome: fill in what you can. Only the first two fields are required.
11
11
12
-
- type: dropdown
13
-
id: issue-type
14
-
attributes:
15
-
label: Type of Accessibility Issue
16
-
description: Which category best describes what you encountered?
17
-
options:
18
-
- Keyboard navigation - cannot reach or operate a control with keyboard only
19
-
- Screen reader - missing, incorrect, or confusing announcements
20
-
- Focus management - focus jumps unexpectedly or is lost
21
-
- Heading structure - headings skipped, missing, or in wrong order
22
-
- Link / button labels - unlabeled, ambiguous, or "click here"
23
-
- Color / contrast - text or controls are hard to distinguish
24
-
- Images - missing or inadequate alternative text
25
-
- Forms - fields not labeled or error messages not announced
26
-
- Time limits - content changes or disappears before I can act
27
-
- Other (describe below)
28
-
validations:
29
-
required: true
12
+
You never need to tell us about a disability or diagnosis. If this form is hard to use, or you would rather not post publicly, email support@community-access.org or jeff@jeffbishop.com instead and we will file the issue for you if you want one.
13
+
14
+
How we triage and respond is in [ACCESSIBILITY.md](https://github.com/Community-Access/git-going-with-github/blob/main/ACCESSIBILITY.md#reporting-accessibility-issues). If the barrier is on GitHub.com or in VS Code itself, report it here anyway: we document workarounds and pass it on.
30
15
31
16
- type: textarea
32
17
id: description
33
18
attributes:
34
-
label: Describe the Issue
35
-
description: What happened? What did you expect to happen instead?
19
+
label: What happened
20
+
description: What you were trying to do, and what got in the way. Your own words are best.
36
21
placeholder: |
37
22
When I press Tab on the Issues list page, focus skips the filter buttons
38
23
and lands on the first issue title. I expected Tab to move to the filter
39
24
buttons before the list.
40
25
validations:
41
26
required: true
42
27
28
+
- type: dropdown
29
+
id: area
30
+
attributes:
31
+
label: Where
32
+
description: The part of the workshop the barrier is in.
33
+
options:
34
+
- A page on the workshop website (published HTML)
35
+
- A chapter, appendix or challenge as Markdown on GitHub
36
+
- The ePub, Word or braille (BRF) download
37
+
- A podcast episode, its player or its transcript
38
+
- Registration or the student opt-in page
39
+
- My Learning Room repository, a challenge issue or a bot comment
40
+
- GitHub.com itself, while following the workshop
41
+
- VS Code, GitHub Copilot or another tool, while following the workshop
42
+
- Something else
43
+
validations:
44
+
required: true
45
+
46
+
- type: input
47
+
id: page-url
48
+
attributes:
49
+
label: Page, file or episode
50
+
description: Optional. The URL, file name, chapter or episode number.
description: List the exact steps to reproduce the issue, starting from a known page or state.
58
+
label: Steps to reproduce
59
+
description: Optional but very helpful. Start from a page or state we can find.
48
60
placeholder: |
49
61
1. Navigate to github.com/[org]/[repo]/issues
50
62
2. Press Tab from the page heading
51
63
3. Focus lands on the first issue title
52
-
4. The "Label" and "Milestone" filter buttons are never reached by Tab
53
64
validations:
54
-
required: true
65
+
required: false
66
+
67
+
- type: dropdown
68
+
id: issue-type
69
+
attributes:
70
+
label: Type of accessibility issue
71
+
description: Optional. Which category best describes what you encountered?
72
+
options:
73
+
- Not sure
74
+
- Keyboard navigation - cannot reach or operate a control with keyboard only
75
+
- Screen reader - missing, incorrect, or confusing announcements
76
+
- Focus management - focus jumps unexpectedly or is lost
77
+
- Heading structure - headings skipped, missing, or in wrong order
78
+
- Link / button labels - unlabeled, ambiguous, or "click here"
79
+
- Color / contrast - text or controls are hard to distinguish
80
+
- Zoom or reflow - content is lost or overlaps when enlarged
81
+
- Images or diagrams - missing or inadequate text alternative
82
+
- Audio - missing or inaccurate transcript
83
+
- Braille - translation or formatting problem in a BRF file
84
+
- Forms - fields not labeled or error messages not announced
85
+
- Time limits - content changes or disappears before I can act
86
+
- Other (describe above)
87
+
default: 0
88
+
validations:
89
+
required: false
90
+
91
+
- type: dropdown
92
+
id: severity
93
+
attributes:
94
+
label: How much it gets in your way
95
+
description: |
96
+
Optional; maintainers confirm severity during triage.
97
+
- Critical: I cannot complete the task at all.
98
+
- Serious: I can complete it only with real difficulty or a workaround.
99
+
- Moderate: it works but is confusing, slow or inconsistent.
100
+
- Minor: a small problem with little effect.
101
+
options:
102
+
- Not sure
103
+
- Critical
104
+
- Serious
105
+
- Moderate
106
+
- Minor
107
+
default: 0
108
+
validations:
109
+
required: false
55
110
56
111
- type: dropdown
57
112
id: screen-reader
58
113
attributes:
59
-
label: Screen Reader
60
-
description: Which screen reader were you using?
114
+
label: Screen reader or other assistive technology
115
+
description: Optional. Add the version in "Anything else" if you know it.
61
116
options:
62
117
- NVDA (Windows)
63
118
- JAWS (Windows)
119
+
- Narrator (Windows)
64
120
- VoiceOver (macOS)
65
121
- VoiceOver (iOS)
66
122
- TalkBack (Android)
67
-
- Narrator (Windows)
68
123
- Orca (Linux)
69
-
- Not using a screen reader
124
+
- Screen magnifier (ZoomText, Windows Magnifier, macOS Zoom)
125
+
- Braille display
126
+
- Voice control or dictation
127
+
- Keyboard only, no assistive technology
128
+
- Not using assistive technology
70
129
- Other (describe below)
71
130
validations:
72
-
required: true
131
+
required: false
73
132
74
133
- type: dropdown
75
134
id: browser
76
135
attributes:
77
136
label: Browser
78
-
description: Which browser were you using?
137
+
description: Optional.
79
138
options:
80
139
- Google Chrome
81
140
- Mozilla Firefox
82
141
- Microsoft Edge
83
142
- Apple Safari
143
+
- Not in a browser (VS Code, an e-reader, a braille device, a podcast app)
84
144
- Other (describe below)
85
145
validations:
86
-
required: true
146
+
required: false
87
147
88
148
- type: input
89
149
id: os
90
150
attributes:
91
-
label: Operating System and Version
92
-
description: For example - Windows 11, macOS Sonoma 14.3, iOS 17.2
151
+
label: Operating system and version
152
+
description: Optional. For example - Windows 11, macOS 26, iOS 26
93
153
placeholder: Windows 11
94
154
validations:
95
-
required: true
155
+
required: false
96
156
97
157
- type: dropdown
98
158
id: wcag
99
159
attributes:
100
160
label: Relevant WCAG Success Criterion (if known)
101
-
description: If you know which WCAG criterion applies, select it. Leave blank if unsure - the team will assess.
161
+
description: Optional. Leave blank if unsure - the team will assess.
102
162
options:
103
163
- "1.1.1 Non-text Content (alt text)"
104
164
- "1.3.1 Info and Relationships (semantic structure)"
105
165
- "1.3.2 Meaningful Sequence (reading order)"
106
166
- "1.4.1 Use of Color"
107
167
- "1.4.3 Contrast (Minimum)"
168
+
- "1.4.10 Reflow"
108
169
- "2.1.1 Keyboard (all functionality via keyboard)"
109
170
- "2.1.2 No Keyboard Trap"
110
171
- "2.4.3 Focus Order"
111
172
- "2.4.6 Headings and Labels"
112
173
- "2.4.7 Focus Visible"
174
+
- "2.5.3 Label in Name"
113
175
- "3.2.2 On Input (no unexpected context changes)"
114
176
- "3.3.2 Labels or Instructions"
115
177
- "4.1.2 Name, Role, Value (ARIA)"
@@ -121,20 +183,28 @@ body:
121
183
- type: textarea
122
184
id: impact
123
185
attributes:
124
-
label: Impact on Your Workflow
186
+
label: Impact on your workflow
125
187
description: |
126
-
How does this issue affect your ability to use this project?
127
-
Is there a workaround that lets you continue, or are you fully blocked?
188
+
Optional. Is there a workaround that lets you continue, or are you fully blocked?
128
189
placeholder: |
129
190
I cannot file new issues without mouse assistance because the "New issue"
130
191
button is not reachable by keyboard. I am fully blocked from creating issues.
131
192
validations:
132
-
required: true
193
+
required: false
133
194
134
195
- type: textarea
135
196
id: additional
136
197
attributes:
137
-
label: Additional Context
138
-
description: Anything else that might help - screenshots with alt text, screen reader log excerpts, or links to related issues.
198
+
label: Anything else
199
+
description: Optional. Versions, workarounds you have tried, related issues, a screen reader speech log, or a recording or screenshot with a text description if you are comfortable sharing one.
139
200
validations:
140
201
required: false
202
+
203
+
- type: checkboxes
204
+
id: follow-up
205
+
attributes:
206
+
label: Follow-up
207
+
description: Optional.
208
+
options:
209
+
- label: I am willing to test a fix and tell you whether it works for me.
about: If the issue form is hard to use or you would rather not post publicly, email support@community-access.org. How we triage and respond is in ACCESSIBILITY.md.
3
6
- name: Support Hub - Ongoing Help and Q&A
4
7
url: https://github.com/Community-Access/support
5
8
about: Post-workshop support, troubleshooting, and alumni discussion live in the open support hub.
Copy file name to clipboardExpand all lines: .github/PULL_REQUEST_TEMPLATE.md
+28-7Lines changed: 28 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,15 +19,36 @@ Closes #
19
19
20
20
<!-- Tell the reviewer what to focus on. What should they read first? What is in scope and out of scope? -->
21
21
22
-
## Accessibility Considerations
22
+
## Accessibility Checklist
23
23
24
-
<!-- Did this change affect keyboard navigation, screen reader experience, heading structure, link labels, or alt text? If so, describe what you checked and what you changed. -->
24
+
Accessibility is the reason this workshop exists. Please read the [contributor expectations in ACCESSIBILITY.md](https://github.com/Community-Access/git-going-with-github/blob/main/ACCESSIBILITY.md#contributor-expectations) and check each item that applies to your change. Mark an item N/A when it does not apply (for example, a content-only change has no interface items).
25
25
26
-
-[ ] Heading levels are sequential (no skipped levels)
27
-
-[ ] Link text is descriptive (no "click here" or bare URLs)
28
-
-[ ] Any images include meaningful alt text, or `alt=""` if decorative
29
-
-[ ] No content relies on color alone to convey meaning
30
-
-[ ] Keyboard navigation still works as expected
26
+
### Content changes (chapters, appendices, challenges, solutions, README and other docs)
27
+
28
+
-[ ] The page still has exactly one H1, and heading levels are sequential (no skipped levels)
29
+
-[ ] Link text is descriptive (no "click here", "read more" or bare URLs in running text)
30
+
-[ ] Any image has meaningful alt text, and any diagram (including ASCII diagrams) has the same information in text nearby
31
+
-[ ] Each new table has a header row and a sentence before it saying what it holds
32
+
-[ ] Commands and file contents are in fenced code blocks with a language (`bash`, `text`, `markdown`)
33
+
-[ ] Steps give a keyboard route, with NVDA, JAWS and VoiceOver commands where they differ
34
+
-[ ] Meaning is not conveyed by color, position or styling alone, and there are no emoji
35
+
-[ ] Plain language is used; abbreviations are spelled out on first use
36
+
-[ ] Any new audio has a transcript, and any linked video has captions
37
+
-[ ] I ran `npm run check:accessibility` and `npm run validate:authoritative-sources`, and `npm run build:html` with the regenerated `html/` committed
0 commit comments