-
Automatically set an ID on active combobox options
-
Joining Forgejo’s Accessibility Team
If you go and look at TEAMS.md#accessibility in Forgejo’s governance repo today you’ll find my name there in the list. I’m very proud of this!
-
Improve repo file list table semantics for screen readers (second attempt)
-
Lessons learned from the Forgejo v15 release blocker
A pull request of mine recently needed to be reverted due to a visual bug in order to unblock the release of Forgejo version 15. This was about 10% embarrassing, 10% frustrating, and 80% really really interesting. I learned a whole bunch about Forgejo’s code and release process, as well as my own biases and focus areas to become a better contributor. It would be a good problem to have if more people like me came along to contribute and made mistakes like these. I figured I’d write down what I learned so that it’s easy to pay it forward.
-
Activist Portal: Public event pages lack a heading element
-
Activist Portal: Calendar modal trigger button lacks text label for assistive technology
-
Activist Portal: User avatar popup trigger button lacks text label for assistive technology
-
Surveys: Widget type picker in editor lacks aria-activedescendant
-
Preserve focus on star/unstar & watch/unwatch buttons after click
-
Add aria-label="Copy" to copy button
-
Accessing localhost:3000 in VirtualBox for NVDA testing on macOS
After getting my JAWS setup in place recently, NVDA was next on the agenda. It was easy enough to install, which left me with enough leftover time and energy to make an attempt at loading http://localhost:3000 on it in order to be able to test unmerged changes. It went better than expected!
-
Fix @mention combobox semantics for screen reader accessibility
-
Make label dropdown menu items with .tw-hidden unselectable
-
Add aria-labels to ensure watch and star buttons always have a text label
-
Add aria-current="page" to active navbar items
-
Inspecting HTML elements that disappear on blur
Web accessibility is mostly about HTML, I reckon. Tons of the bugs you work on end up being about adding or removing some attribute from an element. So the inspect element tool is a really important part of the toolkit. And most of the time you don’t even have to think about it: just ⌘⇧C, click on the element you’re curious about, and you’re in business.
-
Add some more sanitisation or console warnings for invalid combobox markup?
-
Testing in JAWS on a Mac
A tricky-looking screen reader bug in Forgejo inspired me to spin up a JAWS testing environment on my Mac.
-
fix(ui): allow label descriptions to wrap in dropdown
-
Do you really need those line-clamps and nowraps?
After getting my first Forgejo PR merged today I was struck by the realisation that I finally have a linkable public example of a type of accessibility bugfix that’s been a recurring thing for years across basically every site and app I’ve ever worked on. So I can finally get this off my chest. Everyone’s CSS is full of line-clamps and nowraps that serve little to no practical purpose, and prevent visually impaired users from accessing content.
-
Fix heading levels in ZUIHeader
-
Transfer focus between the expand and collapse buttons in ZUIOrganizeSidebar on click
-
IAAP EU Interview
Archive copy of an interview with IAAP EU
-
Screencasting Secrets
Screencasting is my secret weapon as a remote software engineer. I’m one of those people who just wants to go fast all the time, and you get to move a lot faster once you get good at showing people what you’ve made and putting them at ease about the idea of shipping it. At any job, one of the most common questions I hear is “How do you do all those GIFs and videos and screenshots and stuff?”. Here’s how.
-
Apply WAI-ARIA group role to privacy policy
-
My CPWA Experience
2022 was the year my dream of getting more into accessibility finally came true. While I was studying for the IAAP certifications I was surprised by how valuable I found other people’s accounts of how they studied for them. I promised myself I’d contribute back to that if I passed the exams. And I passed, so here’s what I did!
-
Tooltip button focus order differs from visual order
-
Header nav focus order differs from visual order
-
Tutorial note buttons lack visible focus indicators
-
Open log icon button lacks text alternative and has incorrect role
-
Close log icon button lacks a label
-
Call log modal focus order differs from visual order
-
Call log modal doesn't make background content inert while open
-
Assignment list item headings skip a level compared to the previous heading
-
Call page headings do not reflect the visual structure of the page on large screens
-
Call page tablist does not implement ARIA tablist role on small screens
-
Assignment statistics are unclear when read with a screen reader
-
Tooltip close button has incorrect role
-
Tooltip manual link opens in new window without warning
-
Keyboard operation completely blocked by preventDefault call on all tab keydown events
-
Screen reader users can access the report pane before a call has ended
-
Sequencer VoiceOver Demo
Retrofitted this drum sequencer UI with some accessibility improvements. Particularly proud of how the use of “bars”, “beats” and “cells” in the ARIA labels makes it possible to perceive a data structure that was previously only represented visually via varying amounts of blank space.