Automated accessibility testing at Slack
57 comments
·January 7, 2025dbjorge
rasjani
Been running somewhat similar combo few months and toy'd around with taking the screenshots of the selectors axe-core/playwright reports as I didn't notice such feature in neither playwright or its html reporter. Do you happen to know if slack patched this or is this feature available somehow ?
And if you are willing to answer some other questions regarding axe-core itself, I might have few.
dbjorge
Screenshots of issues is something we support in many of our paid offerings, but not in axe-core itself. It sounds like the Slack folks implemented their own version of it.
If you have general questions about axe-core, the best place to ask is our axe Community slack instance (https://accessibility.deque.com/axe-community). If you have a specific issue you'd like us to investigate, try https://github.com/dequelabs/axe-core/issues
rasjani
Either there's some very long queue or that signup page for slack invite doesn't work.
butz
Article about accessibility - code snippets added as images. And what about alt text? It just broadly summarizes what is displayed in image. I think there might be a tiny little problem here.
sunshowers
The text is also quite small and low-contrast (which matters a lot for accessibility!)
Also, more subjectively, the snippets don't really match the aesthetics of the rest of the site. The pseudo-macOS rendering inside the black borders is strange, as is the choice to use different monospace fonts for filenames and code snippets.
geodel
The things you are asking would be done in 2028 under "Grounds up refactoring for Accessibility First Engineering"
superpie
[ Speaking Spanish ]
skeptrune
>A few developers gave us early feedback and requested screenshots of the pages where accessibility violations occurred.
It's amazing how much a screenshot will do for my motivation to fix a frontend bug. Visually identifying severity is much easier than reading and making a mental judgement.
steve_adams_86
I like using video as well. The whole "picture is worth 1000 words" adage is true, and it makes all kinds of bugs far easier to recognize.
I'm sure other tools are great too but I find Cleanshot on macOS makes it super convenient to do it, so there's no excuse not to document reports with images and/or videos.
I do the same with pull requests. Words are almost always essential, but demonstrating bugs/changes/features directly through accompanying visuals is hard to beat.
chatmasta
I use native Cmd+Shift+5 to record video and then convert it to .mp4 with ffmpeg -i bug-report.mov bug-report.mp4
PyWoody
If you don't need to edit the screenshot, Command+Control+Shift+4 will bring up crosshairs that will put the screenshot selection in your clipboard and won't save it to disk. It's super handy for doing a ton of quick, one-offs.
MontagFTB
If it helps, hitting the spacebar will toggle screenshotting a window.
wccrawford
I dreaded videos for a few reasons, some of which could have been fixed, but some were human nature.
First, they didn't play in all browsers at the company I worked at. That meant I had to either download it, or use a different browser for that.
But even then, it was a game "guess what the CSR thought was wrong" in the video. Usually after watching a rather long intro sequence before getting to the actual bug.
If the company is trying to replace written bug reports with videos for speed or convenience, it's a nightmare for the devs.
If it's just an add-on to show the specifics, then it might actually be good. I rarely got those.
shafyy
I love Cleanshot!
gostsamo
Slack have a rather good a11y experience. The few bugs that I've reported had been addressed rather promptly. The ux is also good with obvious consideration given to keyboard navigation. There are a few annoyances which separate it from perfect, but I rather like the app, especially compared to teams.
password4321
> I rather like the app, especially compared to teams
Pretty sure just about every other option is pretty likeable compared to Teams!
eitally
Yet there are Teams features that nobody else has emulated yet and which quickly become almost indispensable for business use. I'll name two:
1. Teams automatically creates a chat group for every Teams calendar event. This can include external attendees.
2. Teams is useful for chat & meetings, but Teams spaces are hugely helpful as document repositories, too, and it's additionally easy to add things like Gantt charts and other enriched content types through add-ins.
And a bonus one:
3. The ability to seamlessly transfer a Teams meeting connection between arbitrary devices (laptop -> desktop, phone -> laptop, etc).
robertlagrant
> 1. Teams automatically creates a chat group for every Teams calendar event. This can include external attendees.
This happens in Zoom as well, without the extra Teams downside of external attendees being 4th class citizens.
> 2. Teams is useful for chat & meetings, but Teams spaces are hugely helpful as document repositories, too, and it's additionally easy to add things like Gantt charts and other enriched content types through add-ins.
This is really simple in demos, but tends towards sharing documents via email again (for external attendees) or growing the channel size massively (for internals who need the documents but aren't obviously needed in the team).
gostsamo
Additional feature of Teams is that their web app refuses to work on my firefox after working until two months ago. I'm not a heavy business user and the casual experience with this thing is pretty annoying.
ch4s3
I'm strongly of the opinion that 1. is an anti-feature. It creates a ton of clutter.
datadrivenangel
Teams spaces are just embedded sharepoint, which has many awkward edges.
sofixa
> Teams automatically creates a chat group for every Teams calendar event. This can include external attendees
Great, so each conversation is spread out and siloed. Thankfully Teams has good search and you can find stuff, right? Right?
> Teams is useful for chat & meetings, but Teams spaces are hugely helpful as document repositories, too, and it's additionally easy to add things like Gantt charts and other enriched content types through add-ins
Slack Canvas kind of does this. I'm not convinced having all your documentation in your chat/meeting app makes sense, but it could be useful.
> The ability to seamlessly transfer a Teams meeting connection between arbitrary devices (laptop -> desktop, phone -> laptop, etc).
Zoom does this too, and has for years. I think I've seen Slack huddles offer the same option too.
pamelafox
If you are writing tests with pytest, I wrote these blog posts about combining pytest, playwright, and axe-core: http://blog.pamelafox.org/2023/07/automated-accessibility-au... http://blog.pamelafox.org/2023/08/accessibility-snapshot-tes...
Great to see Slack using a similar combo!
thdhhghgbhy
A little OT but are people running playwright in docker on CI? Curious if it needs to be dockerised for consistent screenshots on local vs CI.
MetaWhirledPeas
Cypress has an excellent turn-key accessibility tool if you already use their product, and don't mind paying a lot for the accessibility feature. It uses your existing tests and makes evaluations based on that, with zero additional work.
quectophoton
They still have that 3-4 second delay during login though. I open Slack directly from a browser, I login from a browser, yet I have to wait until they decide to ask me if I really want to continue with the browser I've been using for literally all the steps so far.
It's not much but it feels like when I'm on YouTube with a device that doesn't have adblock and a short ad plays before the video.
It's not related to accessibility, but it's still UX.
nicbou
> Please don't complain about tangential annoyances—e.g. article or website formats, name collisions, or back-button breakage.
quectophoton
My bad, I thought that rule was about the medium (i.e. the post itself). I didn't it also applied beyond that (e.g. commenting about Slack's UX on a post whose topic is a subset of Slack's UX).
I'll keep it in mind, thanks.
SilasX
IMHO, your original interpretation is correct. The rule is about the UX of the article itself. In a story about Slack UX with respect to accessibility ... general issues with Slack UX seem topical enough.
egypturnash
Here is a way to get around this annoying behavior: Type “sla” in your address bar (or however many characters of “slack” it takes to get it to autocomplete with Slack URLs). Cursor down into saved URLs for actual Slack channels. Hit return. Skip all that bullshit.
Discord does the same bullshit and this works there too.
(This assumes you’re not logging out when closing the slack/discord tab. Sometimes it just doesn’t work with Slack and you have to do a full login.)
traceroute66
Accessibility testing is important and great. However I wish Slack would put as much effort into general testing.
Some of their recent releases have left a lot to be desired.
robertlagrant
> Our automated Axe checks have reduced our reliance on manual testing and now compliment other essential forms of testing—like manual testing and usability studies. At the
Should be "complement".
sam0x17
ok cool but how about we get syntax highlighting for common programming langauges in code blocks?
amrocha
I’ve set up automated accessibility tests like this at multiple companies I’ve worked at as well.
We didn’t have a dedicated accessibility team though, so I paired it with a shit list which the team worked through in less than a year.
I am one of the maintainers of the axe accessibility testing engine the Slack team is using. It's awesome to see such a detailed writeup of how folks are building on our team's work!
We publish the engine (axe-core) and the "core" playwright integration library Slack is using (@axe-core/playwright) as open source, but if you're interested in what the Slack team has described in this blog, we also have a paid offering called axe Developer Hub (https://www.deque.com/axe/developer-hub) that offers a similar workflow to what the Slack folks describe here: It hooks into end-to-end tests you already have to add in accessibility testing without needing a ton of code changes to your test suite.
It's very enlightening to see which features the Slack folks prioritized for their setup and to see some of the stuff they were able to do by going deep on integration with Playwright specifically. It's not often you are lucky enough to get feedback as strong as "we cared about <feature> enough to invest a bunch of engineering time into it".
If you're interested in building these sort of accessibility tools, my team is hiring! https://www.deque.com/careers/senior-accessibility-tool-deve...