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.
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.
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".
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.
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.
>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.
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.
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.
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.
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.
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).
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.
> 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).
> 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.
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.
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.
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).
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.
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.)
> 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
accessibility is just another buzzword and honestly isn't worth the extra design & dev time and money required versus the ROI. screw whatever "guidelines" were made by some ignorant people in positions of power with no actual grip on reality.
Web accessibility describes specific requirements for people with disabilities to be able to use your website. If you don't implement these features, blind people, colorblind people, people who can't use a mouse, etc., won't be able to use your website. You can make a strategic choice not to support these users for reasons like ROI. But obviously there are plenty of situations where either we make the affirmative choice not to exclude people with disabilities, or we're required by law to accommodate them. In my personal opinion, we should always build on the web with the modern features that support assistive technologies, and that building inaccessible web experiences is synonymous with building poor quality web experiences. Many of the (mostly native) features that enable an experience accessible to people with disabilities improve the experience for all users.
The fascinating thing about accessibility is that (unlike many other characteristics) all of us are going to be at least temporarily disabled at some point in our lives. I've really appreciated the presence of ramps whenever I've injured my foot, or just if I'm rolling a couple heavy suitcases.
The EU has an Accessibility Act coming into play from June this year, so a subset of companies working on things like travel booking systems will have to test to make sure they meet those new requirements.
Your position is really "fuck disabled people", really?
Your ever seen a blind person try to use the internet? You ever seen a person with essential tremors try to use their phone?
Go and educate yourself a little.
These standards are all built from the experiences of users who were unable to access things and they benefit way more than the 15% of people who have disabilities. Ever used closed captioning, automatic doors, or curb cuts? Those things all started as accessibility features.
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.
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.
The things you are asking would be done in 2028 under "Grounds up refactoring for Accessibility First Engineering"
[ Speaking Spanish ]
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...
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.
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
>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.
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.
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.
I use native Cmd+Shift+5 to record video and then convert it to .mp4 with ffmpeg -i bug-report.mov bug-report.mp4
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.
If it helps, hitting the spacebar will toggle screenshotting a window.
and it includes the shadow, with trasparency! looks great
I love Cleanshot!
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.
> I rather like the app, especially compared to teams
Pretty sure just about every other option is pretty likeable compared to Teams!
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).
I'm strongly of the opinion that 1. is an anti-feature. It creates a ton of clutter.
Indeed. Instead of a dedicated set of channels for a topic... we have this breaking things up. This 'feature' absolutely kills focus.
The old ways - curating channels - are the best ways.
It’s made worse by the fact that the search is strictly awful.
Which one? The one bound to ctrl+f or the one at the top of the window? /s
Why are these even isolated? That's what parameters are for!
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.
> 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).
Teams spaces are just embedded sharepoint, which has many awkward edges.
> 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.
> Slack have a rather good a11y experience
But yet they hijack the standard Cmd-Z “insert link” shortcut for search, so you have to use their non-standard alternative. Not good.
IMHO, one or even a few suboptimal things do not invalidate all the rest.
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!
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.
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.
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.
> Please don't complain about tangential annoyances—e.g. article or website formats, name collisions, or back-button breakage.
https://news.ycombinator.com/newsguidelines.html
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.
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.
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.)
ok cool but how about we get syntax highlighting for common programming langauges in code blocks?
> 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".
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.
accessibility is just another buzzword and honestly isn't worth the extra design & dev time and money required versus the ROI. screw whatever "guidelines" were made by some ignorant people in positions of power with no actual grip on reality.
Web accessibility describes specific requirements for people with disabilities to be able to use your website. If you don't implement these features, blind people, colorblind people, people who can't use a mouse, etc., won't be able to use your website. You can make a strategic choice not to support these users for reasons like ROI. But obviously there are plenty of situations where either we make the affirmative choice not to exclude people with disabilities, or we're required by law to accommodate them. In my personal opinion, we should always build on the web with the modern features that support assistive technologies, and that building inaccessible web experiences is synonymous with building poor quality web experiences. Many of the (mostly native) features that enable an experience accessible to people with disabilities improve the experience for all users.
>we should always build on the web with the modern features that support assistive technologies
Or build on the old web without modern features, that supports assistive technologies by default [1] :).
[1] https://motherfuckingwebsite.com/
The fascinating thing about accessibility is that (unlike many other characteristics) all of us are going to be at least temporarily disabled at some point in our lives. I've really appreciated the presence of ramps whenever I've injured my foot, or just if I'm rolling a couple heavy suitcases.
The EU has an Accessibility Act coming into play from June this year, so a subset of companies working on things like travel booking systems will have to test to make sure they meet those new requirements.
https://www.epinova.se/en/blog/2024/understanding-the-europe...
things like travel booking systems
Any ecommerce, including selling services, is included. It’s not a small subset. You can see the scope at https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A...
Your position is really "fuck disabled people", really?
Your ever seen a blind person try to use the internet? You ever seen a person with essential tremors try to use their phone?
Go and educate yourself a little.
These standards are all built from the experiences of users who were unable to access things and they benefit way more than the 15% of people who have disabilities. Ever used closed captioning, automatic doors, or curb cuts? Those things all started as accessibility features.
Well it's mandatory to get government contracts. That's the only reason companies do it.
They have no interest for disabled people.
Not only government contracts, some very big orgs have accessibility requirements in all their vendor contracts too.
I'm the author of localslackirc, to bridge slack and IRC.
Probably most IRC clients are more accessible.
If you consider the real-time text-only chat, maybe.
As soon as you start thinking about the side features. they are not comparable.
for example?
You can't honestly suggest that IRC and Slack have feature parity. Slack has:
* A support for sharing images and files
* Rich text formatting
* Can easily share code blocks
* Rich and granular permission system, suitable for a large organisation
* Webhook-based integrations
* A rich ecosystem of existing corporate integrations (like calendar integrations)
* Accessible web application, that provides access to all of those features
* Mobile app (for both android and ios) that provides access to all of those features
* Built-in OAuth/OIDC integration, that makes it easy to put it behind a company proxy.
* User statuses, avatars, metadata (like real name or team name), timezone-awareness
* Adding guests to channels, or bridging channels between servers
* Voice calls
* Search (!) with history, accessible for any device
* Actually, you can write to someone who is not online right now, something IRC doesn't support without a bouncer.
* Project management features (lists etc)
* Well documented and rich API
* Enterprise support
And this is just out of the top of my head.