At other frequencies, sound can actually intensify flames, depending on the surrounding environment. Standing waves and the frequency of the sound (FM) are likely factors in this phenomenon. However, it’s not advisable to use sound as a method for extinguishing fires.
I work on ADA a lot for my company. Please put on some headphones, turn on the voice assistant of your OS, put on some blinders, and run your app or website… no mouse, just keyboard.
1. Democracy is about access; make sure everyone has access to your software.
2. The keyboard allows folks with disabilities and power users to fly through your website/app… that being said… the second a tab is off, the person with a disability flies into a wall.
I had to keep accessibility in mind a lot in my previous job (web development for a university). The thing that I consistently found was that, the more accessible a website was, the better the experience for everyone, not just people with disabilities.
This is true in other fields too. Wheel-chair ramps are used by people with baby strollers. Subtitles work for deaf people, those who can't understand the spoken language, or simple folks in situations where someone is sleeping next to them. Pretty much every accessibility-oriented feature ends up helping out people beyond the original audience.
3. Contextual (eg, holding something with one hand, loud environment)
When people think about accessibility, they often think about 1. But the long-tails for 2 and 3 are huge, and ultimately affect everyone at some point.
And to keep the loop going, stroller-accessible spaces are also walker-accessible spaces and cart-accessible spaces. Worked at a computer store in the early 00s. Our rented retail space had a wheelchair ramp and there were a few elderly regulars who would show up with a desktop PC in the basket of their rolling walkers for repairs. More than once they thanked us for having the ramp because the computer itself was way too heavy for them to carry from the parking lot.
In fact, in a way, basically everyone will use a baby stroller at some point in their life (at least as a passenger).
I personally never noticed this before becoming a parent, but there's a lot of spaces that are "almost" stroller friendly, but for some reason there is a small obstacle that would not be expensive to remove (if accounted for during planning). For example, a few steps that could easily be a ramp, blocks of flats with a lift that is accessible after ascending a few steps, even high shop entrances.
For me it's not a problem, because I can easily carry stroller with a baby inside up, but for most mothers I know this is usually a huge or unsurmountable obstacle.
Not to mention luggage. I find it hard to believe that it’s a coincidence that rolling luggage became common shortly after curb cuts and wheelchair ramps did.
The rolling luggage is primarily useful in the vicinity of airports. Inside airports there were no curbs. And I don't think people are going on long journeys through downtown areas with their luggage. I think you have a better argument asserting that rolling bags were facilitated by cheap polyurethane skate wheels.
There were fewer ramps and more stairs in airports and their parking garages prior to the 90s, due to the ACA.
And people drag luggage around on city streets all the time. Many tourist destinations are pedestrian cities even outside their most central downtown areas. And luggage also needs to be dragged around hotels — and in suburban areas their absurdly large parking lots.
The skate wheels are a plausible argument, though.
While this is often true, sometimes accessibility features can be distracting to those who don't need them so should be implemented in a way that they are optional. For example, closed captions intended those who can't hear at all contain much more than spoken lines and are not appropriate for learning the (spoken) language and even less so when watching something in your native language with a good audio environment. Which is why subtitles are not on by default and you have different tracks for closed captions and regular subtitles.
Another way to think of this is that everybody occasionally needs to do something unusual. But some people, due to their life circumstances, always need to do something unusual. And making things better for the always-odd folk is also a positive to the occasionally-odd folk.
Which like, we're all eventually gonna be odd folk! That's what age does to us. But we should understand these accommodations as being a net positive, not a cost, to society.
Yep. In accessibility research, they call these "situational disabilities". When you need to open a door with your arms full of groceries, you aren't so different from someone who is never able to open a door. Accommodations that help people with permanent disabilities also help other people in the right situations, too.
My touchpad broke and I couldnt download the touchpad driver to fix it on the spot because there was no way to get to the download button with tab and enter, you had to click it.
That's a funny example, reminds me of how often fresh Windows 7 or older installs were missing the ethernet driver so you had to move stuff over on a flash drive to get started really setting stuff up.
In your situation, a couple possible solutions come to mind. 1) turn on "mouse keys" which lets you use the numpad to move the mouse and click, 2) a vim addon for the browser (e.g. vimperator or tridactyl) likely could've clicked the button via the hints mode.
It's in the past now so maybe these wouldn't have worked or you didn't know, of course, just fun to think of what I would've done.
Yup. Or people with temporary disabilities — who have simply broken limb or had a surgery. Most places are hellish to navigate on crutches. Heavy doors alone make so many places nearly inaccessible, and that’s before you even get to stairs.
Additionally, I found, that simply sticking to web standards, instead of reimplementing everything in JavaScript, goes a long way towards accessibility.
Exactly; consider that only a percentage of users will actually be sitting at a desktop system using your application. Most people will visit your website on a mobile device, and a percentage of that will be in weird lighting conditions trying to operate the thing with just one hand. As just an example, and that's the people considered abled - anything that isn't the hip startup of the week aimed at 15-25 year olds will need to consider e.g. eyesight issues on top of everything else.
Anyway, it's not even an option anymore, under the European Accessibility Act, government and (since last year) public services (websites, apps, appliances, etc) all need to be accessible; for websites this means implementing WCAG 2.something to level AA, which includes things like minimum contrast requirements, captioned videos, and increasing font size without losing information.
And it's often considered an afterthought because by and large, designers and developers are relatively young, 20-40 some year olds working on Macbooks with 4K displays. Some may be wearing glasses but broadly speaking that's the extent of their disabilities.
- accessibility is just usability. all it is is making sure your product is as usable by as many people as possible.
- it's a myth that "people with disabilities" are some other that excludes you, and 'accessibility' or assistive technologies only benefits other people. Everyone is only temporarily 'abled'. You need to use prescription glasses to comfortable read a computer screen? You're a parent trying to watch some TV while getting your child to sleep? All benefit from assistive technologies.
> accessibility is just usability. all it is is making sure your product is as usable by as many people as possible.
Not always. There are things that increase usability for fully abled people but decrease it for disabled people. Color-coding is a common one. Another is using smaller font size to make more info visible at once, or advanced touch gestures that can be accidentally triggered by shaky hands.
Then there are accessibility features that actively harm fully abled users, like sticky keys or screen readers that automatically follow focused UI elements.
Color coding doesn't decrease usability for disabled people (and I say that as a screen reader user). You just need to ensure that color is not the only way the relevant information is conveyed.
Certain types of colorblindness combined with certain colors makes text much harder to read than black-on-white. If you limit yourself to just universally readable colors, you're heavily limiting the number of different categories you can highlight. There's also the matter of screen real estate - duplicating info isn't helpful for people who can deal with colors just fine. I'm not saying it's a srong thing to do, just pointing out accessibility and usability are different things.
Colors should be an OS feature. On iOS and macOS you can remap colors globally and it works in all native apps. There are presets fire the common cases: red/green issues, color blindness etc and you can make your own. This has its limitations though eg if you are not able to distinguish at least 5 or so colors… any colors.
and, as is being increasingly forgotten, SOUND QUES. Seriously, I get they can be annoying but they make navigating and interacting with things so much easier if you can't see them. Sure, TTS exists but is far more inefficient and objectively less helpful in these kinds of circumstances
But you can — or should be able to — independently toggle all of those features. For example, the app should work in high-contrast mode with disabled color coding, it should work with touch gestures disabled, etc.
A good common framework helps here. Then, it's up to each user to set their settings properly.
Riddle me this - why would you want to disable something that increases usability of an application? (Yes, this is a loaded question - I never said these features are bad, just that usability and accessibility are sometimes at odds with each other.)
unsure this is quite the same thing, but I often swap my phone to gray scale to reduce brightness overall (and 'reduce whitepoint' sometimes) because at night colors are too stimulating.
For example, opting to not enable high-contrast mode is a question of aesthetics. Arguably reading text would become easier for the user, but they prefer to sacrifice a little of the readability in favor of looks.
In fact, for some people high contrast is headache-inducing.
I’ve installed a utility on my laptop that supports “sub-zero” display dimming for nighttime use because monitors are now over-optimized for max brightness, with min brightness being retina-searing for eyes adjusted to a dim room.
I am a little confused about your response. Do you disagree with me that accessibility features often reduce usability, or do you agree with me and just feel like nitpicking? I'm all for nitpicking, but I'd rather keep it separate from the real debate.
You might be the kind of person who does benefit from accessibility features such as larger font size. On the other hand, I'm not; I can read 10pt font on 100 DPI display just fine, without glasses. I'd rather have an extra column in table view visible without scrolling than larger letters, but for you the tradeoff might be different. That's why it's accessibility and not usability. Usability would be if the bigger font didn't push anything off screen, then of course it's better to make it bigger.
Yes and unfortunately font size is usually one of those things where everyone is subjected to the "improvement". Accessibility guidelines should not be specifying minimum font sizes but rather require websites to respect the browser settings.
Everybody has some minimum text size they're comfortable with. If you make the text bigger than that, they're forced to scroll unnecessarily, which is less usable. But the size differs from person to person, so it should be configurable. You get this automatically with web browsers and most GUI frameworks if you don't go out of your way to break it (just stick with the default font).
I 100% agree. I've been working on a component library rebuild at work and accessibility is a key focus, granted I don't think that would be the case if some of our contracts didn't mandate it but it's fiiiiiine
I'm someone who enjoys this kind of work, especially when the target is a stylized drop down - I got to spend a week with the MDN page for the ARIA combobox open, trudging through all of the ins and outs of keyboard accessibility and I know I'm still missing a couple things (typing when the control is focused but not open, for example), and having clearly defined specs is something we don't seem to get a lot in webdev
My go to when implementing custom controls that can't be achieved in native HTML is the ARIA Patterns (https://www.w3.org/WAI/ARIA/apg/patterns/) site. That has clear documentation on the roles, states, and keyboard interactions for common UI controls. I've used it for things like a search bar with an autocomplete dropdown to get the keyboard interaction right.
Some of the things we take for granted in UI/UX originated that way, like automatic hamburger menu hide/show (for very large zoom) and "scroll to content/top" buttons for screenreaders, which, if you've ever tried to read a recipe online are pretty critical. Captions on videos are also like that, although there you might share blame to them for enabling the poor sound mastering on things like, legendarily, Tenet, perhaps.
What are the advantage of “scroll to content/top” buttons over <main> for screen readers? I think that the use of those buttons is for when the CSS fails to load.
It's essentially the same thing, but a lot of the time people will add a sr-only button at the very top that just goes straight there, and one at the bottom if the screen reader gets stuck in the footer nav, as well. Depending on which screenreader people use they sometimes only work on the actual hydrated markup, so <main> isn't always visible the way you'd expect. It's been a while since I did a11y tho so I'm probably hopelessly out of date.
Such buttons are more visible to (screen reader) users who navigate the web exclusively with arrow keys.
Landmarks are important, but to navigate by landmark, you need to be experienced enough to know the right quicknav keys. Some beginner users might not be.
"Scroll to content" doesn't mean what you think it means.
It doesn't scroll to the "useful" part of an article. It doesn't skip past the introduction / filler / two pages of "this is how my grandma used to make it." The only thing it does is getting you past the top navbar and such, and moving focus straight to the beginning of the article.
I worked on Microsoft’s Windows QA team long ago. My team used to have “No-mouse Tuesdays”: you were supposed to do all your normal work but only using the keyboard.
I guess that team was dismantled some time ago, with no on carrying the flag anymore. Modern windows is impossible to work on using just keyboard. Some mods & extensions do help. But the native experience is abysmal.
My touchpad doesn't work anymore. Why is it so difficult to connect a bluetooth mouse without a mouse? The "mouse detected, want to connect?" notification shows up ON THE SCREEN but I need to enter a bunch of shortcuts and navigate through multiple items just to be able to click yes.
The keyboard support in "Modern" Windows apps is so random. In the new Notepad, the dialog that appears asking if you want to create a new files shows Yes and No buttons, but it doesn't accept Y and N keys, only Esc and Enter. However, the dialog that appears when exiting without saving does accept S and N for Save and Don't Save. These inconsistencies are everywhere in UWP.
In the context of discussing TUI vs GUI (as the article does), the accessibility and keyboard control balance probably swings very strongly to native GUIs; in a TUI you’re at the whim of the TUI framework’s stabs at accessibility support, while on a full fledged native UI you have all the bells and whistles of focus management and text to speech and voice control and high contrast and magnification and motion adjustments…
The idea that it must be more accessible because it’s confined to a mono space typeface and communicates state mostly by changing the foreground and background color of the text it renders makes no sense to me.
> The idea that it must be more accessible because it’s confined to a mono space typeface and communicates state mostly by changing the foreground and background color of the text it renders makes no sense to me.
That's not why. It's because TUI apps have to be designed around the strong possibility that a mouse isn't even available.
Also in a TUI you never ever have that issue that some text isn't copy/pastable like some dialogue boxes, in which case the screen reader might have issues picking it up too.
And in a TUI you don't have to deal with that window management crap. Moving stuff around because something else is on top. Everything happens within that little square.
Not requiring a mouse isn’t a magic pathway to ‘accessibility’ though. The fact that something can be used with a keyboard does not obviate developers from the need to consider other aspects of accessibility.
Also: when I copy paste out of an application I don’t want a bunch of spurious chrome glyphs and newlines - copying just the text contents of a TUI scrollable text field isn’t trivial and isn’t always guaranteed to work
It's very hard to make a TUI (or a web app) that has 0 screen reader accessibility. It's also much harder to make a TUI that has great screen reader accessibility (it's much easier for web apps). "native" apps are a much wider spectrum.
With a TUI or a web app, screen readers will always have some access, because no matter what you do, the text layer is always there. This may not be enough accessibility to use the app or to complete some specific workflow, but a screen reader user will at least have a rough idea of what's going on. For web apps, that's a good basis to start from once you finally realize that accessibility is something you need.
Desktop apps are much more of a mixed bag. Most frameworks draw their UI themselves, basically pixel by pixel, instead of using some text-based platform primitives. If your framework doesn't expose UI semantics to the OS, a screen reader user gets absolutely nothing, basically a blank window with no visible content or controls. If you're just a developer using that framework, it's a very difficult situation to get out of, once a11y becomes a business requirement.
GTK on anything but Linux is the major offender these days, so are many niche Rust frameworks and anything involving game or game-like UI. QT, Java Swing and Flash used to be this way historically.
Besides the TUI program itself, you also have your terminal emulator (unless in a TTY) and possibly a multiplexer like tmux. I use irssi inside tmux from my phone a lot and you can get pretty precise control with keyboard shortcuts that make up for some of the flaws of a touchscreen. Like instead of mashing or holding the arrows to go back and fix a typo, I'll use the readline binds and hit esc and b a bunch of times to close most of the distance, then switch to arrows at the end if needed. The tmux copy mode is also pretty friendly in the same way, you can vary gradually adjust your selection start/end without having to hold anything down.
There's TUI and there's CLI. TUI has always been poor man's GUI, back in the day it was even literally called GUI. CLI on the other hand has zero similarities with GUI. You write the command and the command executes and that's it. Writing commands is inherently the most accessible form of controlling computers, second only to dedicated single-purpose buttons that don't mesh well with this whole "general purpose computing" thing.
> Writing commands is inherently the most accessible form of controlling computers
Not if you don't know enough of the commands and have to research every one you need, and it's for a problem you likely won't encounter again. Oh, and you have to do this without breaking anything. To say this can slow a person down is a dramatic understatement.
There is a reason menus were invented very early on in computing history, well before 1970.
Most accessible, not most convenient/efficient/easy to learn. It's very very hard to beat entering text in terms of how many people on Earth are physically capable of doing it (considering all the available methods, including text to speech).
No, not really. I know what you are trying to say, and I fully agree. We need to stop using "democracy" or "democratizing".
Democracy, in it's purest form, is about mob rule --majority rule, if you want to say it in a softer/kinder way. "Democratizing" means giving a mob control of the thing, it does not mean making it accessible to all at all.
Democracy is not about mob rule, it's about a dialog. Sure, sometimes it becomes heated argumentation and noise, but it's not so much about "ruling". Lincoln in his union address in 1860 said: "I so adopt it because it furnishes a precise and an agreed starting point for a discussion between Republicans and that wing of the Democracy headed by Senator Douglas."
"Democratization" in a sense is about making things accessible for discussions. "Dictatorship" is the opposing term - things get "dictated" by a single entity - person, political force or a corporation.
> Democracy is not about mob rule, it's about a dialog.
No my friend, Democracy is majority rule, which easily turns into a ruling mob. It has nothing whatsoever to do with dialog.
Also, your quote of Lincoln's address is taken completely out of context. He was talking about his opposition of the ideas of a faction of Democrats who were in favor of slavery and his support of the majority of Republicans who believed slavery was a moral, social, and political evil.
In other words, take the time to at least do some research before you try to use quotes in support of a failed conclusion.
Did you read the Greeks in school? Probably not. I recommend Plato's Republic. Both he and Socrates talked about the flaws of direct/pure democracy that would usually make it degenerate into mob rule.
In Republic Plato developed a hierarchy:
Aristocracy: Rule by the wise (my comment: a fantasy)
Timocracy: Rule by the honorable (my comment: another fantasy)
Oligarchy: Rule by the rich (my comment: a reality in many societies)
Democracy: Rule by the masses (my comment: glad we don't have this)
Tyranny: Rule by a despot (my comment: plenty of examples of this in history)
It took until the late 1700's for the idea of a representative democracy to actually take hold, with Alexander Hamilton being credited with the terminology.
So, "democratizing" means letting the masses have their way. It does not mean making things accessible to everyone, which is the hilariously or tragically ignorant way in which Silicon Valley tries to use the term. You see startups all the time say "we are democratizing <X>". Just how stupid are these people? They are saying we are going to let the mob have access and benefit from <X> not making it available to everyone.
In the context of Plato’s political philosophy the modern, casual use of the word "democratizing" completely ignores the historical and philosophical baggage of the root word democracy.
The irony is that modern society uses "democratize" as an undisputed positive term (meaning liberation and fairness), while the very philosophers who birthed western political thought used "democracy" as a warning label for instability and lawlessness.
A better term for what startups want to say would be "commoditizing": turning a specialized, elite resource into a public good or a widely available commodity; not "democratizing", which is an ignorant use of a term that means almost exactly the opposite.
I guess classical education has not been a part of schooling for quite some time. As a kid I did not necessarily enjoy reading the Great Books. As an adult, I can see how much damage has been caused by the abandonment of such valuable teachings.
Exactly, words do not carry their root's connotations as a permanent tax. 'idiot' used to mean "a layman, someone not holding office or lacking skill', or "a person not interested in politics"; 'nice' comes from Latin 'nescius', which meant "ignorant"; 'cretin' meant "Christian".
Democracy is not mob rule, and the Greeks agreed. They had a separate word for mob rule: 'ochlocracy'. Having two words means the Greeks did not treat them as identical. Plato and Aristotle argued democracy tends toward it, but they still have not treated it for a definition.
Bringing Plato here is kind of weird: The Republic is an anti-democratic aristocrat's argument, written by a man whose teacher was executed by an Athenian jury. Plato was born into the Athenian elite. His mother's family gave Athens tyrants whose regime killed something like 2000 citizens in less than a year. Plato initially was invited to join, he considered it, and pulled back when he saw what they did. He was part of anti-democratic coup. Citing him here for the word definition, is like citing Marx for the only definition of 'capitalism' - not exactly inaccurate, and might be even exactly correct, yet the context and connotation still matters - Plato took neutral-to-positive word and gave it a hostile reading, while Marx haven't even talked about 'capitalism' (he had "kapitalistische produktionsweise"), the actual term as we know it was popularized later.
'democracy' aside, "make accessible to all" is a long-established dictionary sense of 'democratize', it was never a Silicon Valley invention. And you're right - "representative democracy" only took hold in the late 1700s. The term's meaning moved after Plato. If democracy could shift from Plato's warning label to a thing Hamilton endorsed, 'democratize' could shift too.
I implore you, good sire (@robomartin), to unsaddle your high horse and let the language take its course - if people and times decide to give words different meaning, it most likely will happen anyway.
> Democracy, in it's purest form, is about mob rule --majority rule, if you want to say it in a softer/kinder way.
You're just parroting an old urban myth.
The terminus technicus for mob rule is ochlocracy [1]; democracy, per se, includes minority protections (i. e. if it doesn't then it isn't a democracy to begin with).
>democracy, per se, includes minority protections (i. e. if it doesn't then it isn't a democracy to begin with).
Democracy has nothing to do with minority protections. I don't understand you can say it per se includes minority protections. Democracy includes whatever enough people think it should include. If people don't want such protections then there is no need for them.
If a democratic society does not want to live side by side violent murderers and thugs they can agree on ways to deal with that minority group like killing them or imprisoning them.
> Democracy has nothing to do with minority protections. [...] Democracy includes whatever enough people [italized by me] think it should include. If people don't want such protections then there is no need for them.
You just proved my point by demonstrating your utter ignorance of the topic: Your three sentences encapsulate the textbook definition of ochlocracy (or laocracy), i. e. mob rule. Which, as already outlined, is not democracy.
I suggest you read some authoritative and up-to-date texts on democracy before embarassing yourself again.
>Your three sentences encapsulate the textbook definition of ochlocracy (or laocracy)
The textbook definition of ochlocracy is a small group of people taking justice into their own hands. That is not what I described in my post where I explained how they can come up with rules and processes and how to deal with things as opposed to having a mob deal with it.
> The textbook definition of ochlocracy is a small group of people taking justice into their own hands.
No, that's not the textbook definition.
That exchange has sadly run its course for me for I have no interest in reading tedious counterfactual clichés, especially not ones outside the scope of the thread's actual topic. One can only hope you embark on that suggested reading journey to better understand the emergence and evolution of (modern) democracy.
No thank you. I will not be reading about what I already understand. If you want to believe a different set of definitions feel free, but you will find that you are overcomplicating simple concepts.
My father is blind, the only tech he knows how to use is a smart tv, when i build him custom apps the first thing i do is turn off talkback when the app opens, so i can control what tts says. The regular talkback is so so annoying and repetitive
This is something that we have been working on in our app, but to be honest: it is hard. At first we wanted to be completely keyboard centric, but we had to pivot away from it.
There is so much to learn in this space.
There are small things, like dropping a 'jump to main content anchor' before the navigation so you don't have to tab through the top navigation everytime.
But there are also certain pages en layouts which require a lot of thought on a good keyboard navigation flow. Combine that with the need for responsive layouts, our inexperience with accessibility tools, etc; and the required effort quickly adds up.
This has always been a bit of a drag, but the way we/I used to do websites and the way I still like to do them, was to focus on content, then apply a style and javascript layer as decoration. The keyboard navigation and accessibility considerations come more naturally then. For those that don't see this as important it feels like a case of cart before the horse.
I ended up stuck on my back, bed-bound in 2005, with a keyboard on my thighs. Using OSX (probably Tiger) and mostly native apps it was possible to get by with just the keyboard. It was the only platform that I could use without a pointer and I was hardly pushing boundaries.
These days just doing simple things like setting up a computer for the first time, I often can't be arsed with a mouse, or I am in places where there isn't room to use a mouse. I have to resort sometimes to a trackball out of necessity, but it's always a hassle and I frequently hit brick walls. Simple file managers can be nightmare enough. I remember just trying to navigate to a taskbar on some desktops being impossible. I couldn't get to something like the network manager applet. Thankfully there's a CLI for that now.
On the flip side, I also love the idea that you can do most things with a simple pointer.
I was trying Batocera linux recently on a laptop, the touchpad wasn't recognised, it's a gamepad driven OS (I think a layer on retro-arch), and navigating with a gamepad (once you RTM and figure it out) is actually quite nice. Kodi, has always been a bit of a faff on the keyboard, and that works well with the gamepad. Kodi was born on the Xbox so this of course should be a given. The UI for me with a keyboard has always been a bit clumsy.
It's hard if you think of it as an afterthought. It's easy if you keep it in mind from the start and choose your stack and approach correctly from the start.
That's usually the problem with startup software - most if startup engineers will rather burn 10 hours coding that 1 hour thinking and choosing the right things.
What are some examples of the right things to choose? Are you thinking in the direction of technical decisions (e.g. the right programming language), or more about product design decisions?
And this is where the conversation gets ugly. Yes accessibility is important. And if you can add it with little additional effort, great. But its not the most important thing when you’re trying to get something off the ground with limited resources.
My people. I can't tell you how much time I spend trying hack these out, especially when base libraries hard code them. Accessibility isn't just sight/non-sight.
I stopped using GNOME after 3, but there were still quite a few animations in the GNOME core programs despite having the disable animation setting set. I wonder if that's changed.
I believe AI can be huge here. Things like ADA are often mechanical (adding the correct attributes to the most important page elements). It is the perfect work to audit and fix using agents.
It is a business opportunity as well. I worked at a company that paid for an audit before LLMs. There is tremendous cost savings possible here.
I also wonder if WebMCP will be the ultimate final incarnation of this.
> It is a business opportunity as well. I worked at a company that paid for an audit before LLMs. There is tremendous cost savings possible here.
Do you know one of the most underemployed groups are disabled people? And do you know where a number of disabled people get employment? Disability audits (unsurprisingly they're extremely good at this).
Congratulations on recommending further marginalising an extremely marginalised group.
I suppose it is a question of balance between: the entire web being better for all those that require accessibility vs. a subsection of that community holding their jobs. And it raises the possibility that the increased accessibility could lead to more job opportunities.
But I'm not really a consequentialist and think of things in virtue ethics terms. And using technology to scale benefits to a wider group of people doesn't conflict for me. YMMV.
It's not "virtue ethics". It's a fact: turning accessibility testing over to "AI" will deprive a group of low-income low-agency people with skin in the game of employment.
If society were perhaps more compassionate, and supportive of this group, then perhaps it wouldn't be so much of a problem.
As to your point about significantly improving accessibility of the web, we could do that right now, all of us, without "AI". We could have done that yesterday. Use semantic HTML, instead of injecting div-soup using Javascript into ad-riddled dark-patterned user hostile slop-pages.
"AI" (or accessibility audits themselves) are a bandaid after the fact. Accessibility needs to be baked in.
No, we should not withhold accessibility features. I wrote nothing to suggest that we should.
I wrote that a group of marginalised people would be further marginalised, and deprived of income and meaningful work in a sector where they are, by circumstance, subject matter experts. Anything else is projection.
The point is that there are unintended consequences, a real cost to people who are already struggling. The broader disability community is already noticing, rather sourly, that accessibility for "AI" is suddenly a prime concern, where they have been struggling for decades to get any attention or consideration for their own needs.
What is better for everyone is if the people building the systems start with considering accessibility beforehand instead of shipping something broken then fixing it.
I think people outside of enterprise have no idea the cost to audit and fix a massive website.
The law is a forcing function here. Lawsuits can and do happen when sites of a certain size fail to implement government-mandated laws. This is a good thing, IMO, but it only comes into force in the largest cases.
If there is a credible path to 1/10th the cost (while still providing liability insurance which is a critical piece) then that will likely encourage more enterprise to do it proactively, and will open the door for startups and mid-sized companies.
I have no idea why anyone would choose to see this as bad.
I'm not outside of enterprise and have worked hands-on for over a decade with AI-driven customer workflows. The cost of accessibility audits are NOT higher than AI R&D or third-party B2B contracts for vaporware touting to do the same.
Sorry if that assertion stands opposed to your value prop.
The state of affairs in the last 6 months bears almost no resemblance to the state of affairs in the last decade.
No need to apologize, neither of us can predict the future. I am optimistic Fable-level models can succeed where the old not-actually-AI models failed. No shame in being pessimistic about the same.
I think they were suggesting using AI to audit for accessibility, which is probably a better approach, and probably more effective than a lot of the basic accessibility checkers out there that work on a list of fairly simple rules and don't understand the context of what they're doing, so tend to give either very limited advice, or sometimes even offer bad advice.
Research and fallbacks would certainly be better. An 85% design, 15% algorithmic solution is probably the sweet "pobody's nerfect" spot, but a company using AI to solve accessibility is like selling rape whistles -- in a perfect world, your market is nonexistent.
Couldn't agree more. Using a screen reader is an incredible learning experience, and it really teaches you just how extraordinary people can be: its incredibly difficult to get anything done. And then there are the people with motor disabilities, the deaf, and on and on.
I got interested in accessibility some 30 years ago, when I got to visit the lab at University of Washington. Its unbelievable the progress that has been made. And AI is having a huge positive impact as well.
I'll also say that if you can get a chance to go to a place like a google accessibility lab for a demo or even better watch a live usability test with disabled users, do it!
Yeah unfortunately this seems to be something very few outside of bug tech dedicate resources to. Even for them it seems to be an afterthought, at least in my professional experience. It winds up another compliance checkbox just like security.
I'm able. I have no idea or wish to go cosplay as my mental model of someone having to use tools to access my website. I use accessibility tests that make sure content has readable colors. I set a content anchor so people can navigate without sight. I would really like to learn about any frameworks that can help me make my websites accesible to everyone. If there a gold standard?
I understand the sentiment, but there are limitations. You can't make a wheelchair-accessible treehouse, but that's not an argument against treehouses. Democracy is about letting people do whatever they want, the laws that forbid treehouse cafes aren't particularly democratic.
Both Google and Apple have MCP-like interface frameworks for agents that developers can enable so their apps are not dependent on touch or vioce or keyboard or pointing device or D-pad interactions.
This is the correct way to do it because it puts the interaction responsibility into the agent, not the app. That enables the agent to work across multiple apps to achieve tasks by interacting with the user. That's where both sides of the interaction should live. That's where the context of the interaction exclusively lives because no individual app holds the full context. That also makes it the place where solving adaptive interface challenges is best implemented.
It's been a while since I've done actual development, but determining tabindex ordering was a very big deal in the early 2000s when clerks/admins were moving from legacy systems to the web. They did most of their jobs with a keyboard, and if you set up tabindexing so that they can use a keyboard for 90% of their job then they would fly through tasks. If you didn't then you'd have some very angry clients at the end of the project ;)
So just echoing that this is not just an accessibility thing, but just a good user interface design thing. If your UX designer isn't taking keyboards into account (jettison mobile first development into the sun please) then they have no business building business applications.
That's a good point. Accessibility is the next step that should also not be ignored. Navigating to the elements is one thing, but for the voice assistant to work properly it can be a little trickier.
Definitely not a substitute, and a bit slow, but GPT computer use is demonstrating an alternative path with live vision models. I'd be curious how this is fairing for those with vision impairments.
I have a traditional desktop app/GUI app, where I have a table (treeview) of words with their translations and pronunciation (like a dictionary). There can be thousands of words in there. Also there is a filter/search field, where one can input any string to filter the table while typing, or confirming pressing enter/return. The words in the table can be in any language, if the configuration of the application is adjusted to the language.
How would I make this more accessible for the blind or people with bad vision?
1. Make sure that the tree view control has screen reader support and that it has all the normal keyboard commands (such as right/left arrow for expanding/collapsing a parent node).
2. Make sure that the text box has a label that says “search” or “filter” and not just a magnifying glass icon. You can only get away with an icon if the GUI toolkit allows you to give it an alt text.
3. Make sure that this label has a hotkey (underlined letter) and that it's properly linked to the textbox so that pressing the hotkey actually focuses it.
4. Make sure that the tree view is next after the textbox in the tab order.
5. Make sure that it's obvious how to cancel a search. You've already assigned Enter to performing the search (as opposed to closing the dialog) which means you can't use Escape because that is already required for closing the dialog. I think one way is to let the user empty the textbox and press Enter to clear the search, but you can also have a separate button as long as it has a hotkey and an alt text if it's just an icon. This kind of button is allowed to sit between the textbox and the tree view in the tab order, but make sure it stays that way and you don't add 10 more buttons there so navigating to the tree view becomes arduous.
I think it's ironic that I can give all of this advice just by being a keyboard user. I'm not visually impaired and I don't use a screen reader.
Point 1: I don't know whether tkinter's treeview has screen reader support. I will have to look into that. But what I did already do is to make it focusable, which it wasn't by default, I believe, and add controls like: up, down to select rows, pos1/home and end to go to first row or last row, space to select/highlight a row, I left right and left arrow key for opening and collapsing items, added enter and various other keys to trigger actions for focused row or all selected rows.
Point 2 I definitely have.
Point 3: I defined a shortcut (ctrl+f) that always focuses the text input widget of the filter, but I don't have a letter underlined in the label. The label is actually "Quick search" and not "Quick filter", which means I couldn't underline an "f". But also underlining any letter might indicate, that one could press ALT+letter to focus the input. Maybe I should add another shortcut to facilitate that and then truly underline the appropriate character. Maybe change the label to simply read "Filter" and use the "F".
Point 4 I have. The filter is directly under the treeview/table, and only one TAB away.
Point 5 I don't have, because as the user starts typing in the filter input field, the treeview/table is already being filtered concurrently. Pressing enter is just for when you want to repeat a search and not change the filter term. For example, when the words have changed concurrently due to other actions. There is no dialog to close, because this is all in the main window. I have been thinking about adding a dialog that displays a progress bar, or adding a progress bar in the bottom status bar of the application. There a stop button might be useful. But so far the searching/filtering finishes in milliseconds, so no one would have time to click that stop button.
That was my first thought, that a TUI is still a GUI. Close your eyes and explain how you can use a TUI from the keyboard. The only difference is what the display can render.
Modern GUI frameworks maintain a visual UI tree for on-screen interaction, and a semantic tree for accessibility features. You can find TUI libraries that do things like this, but for most TUIs, if you close your eyes and have the UI read to you, you're going to hear "dash dash dash dash dash dash bracket dash", because the fundamental concept of a TUI is in-band UI signalling.
For accessibility (the topic of this subthread), TUIs are not like GUIs.
I don't think that's the right way to frame it. To me, in-band vs. out-of-band signaling is the real dividing line, and has been all the way back to PARC.
Having done exactly this for adding accessibility into a crypto wallet in the past, (yes crypto wanted even the disabled), it is plainly obvious why this is not standard.
It is an absolute train-wreck trying to get everything to work and for the overwhelming majority of products it isnt work the effort. It isnt like you put a wheelchair ramp up and are done. It is a constant battle with every change.
It is just another one of those things where the minuet minority suffers. Now if a company got some tax write off for it, that would change things.
The issue with accessibility is bots from scrapefly or browserbase will abuse website to death. There is reason why we can't have good things due to abuser like scrapefly, browser base, anchor browser etc... I had to turn off all the accessible selector and randomized html soup to make their life harder.
The solution is redirecting to an actual API or MCP with the same ability as your GUI, along with a real way to export your data. This is the future with how AI agents will work whether you like it or not. People are not going to want to deal with a GUI if an agent can do it better and faster for them.
You are allowed to try to use the defense in some places, but there's no guarantee that it will work. It is banned in DC and 30 states: California, Illinois, Rhode Island, Connecticut, Hawaii, Maine, Nevada, New York, New Jersey, Washington, D.C., Georgia, Wisconsin, Washington, Pennsylvania, Colorado, Texas, Virginia, Maryland, Oregon, Vermont, Florida, Iowa, New Mexico, Minnesota, Massachusetts, Nebraska, Arkansas, North Carolina, New Hampshire, Delaware, Michigan. Put another way, it's banned for about 76% of the US population. Does it actually work a lot when it is used? Did it ever? Note that the case you're referencing is from 1944, for instance.
I think the point is that THE DEFENSE STILL EXISTS IN SOME CAPACITY.
As a gay guy I've had str8 ppl tell me "you can still go to Egypt just you know, don't be gay". It's infuriating, depressing, and so much more.
Honestly, sometimes I kind of understand the tiniest bit of the queer peeps that were getting extra spicy like last year. Society is an amorphous blob of averages and if you don't fit into the average...well.
Doesn't work that way in Canada. In 2010, a 37-year-old male got 6 years for sucker-punching a 62-year-old male who made advances toward him in bar in the Vancouver west end (lotsa gays there). The 62-year-old fell, hit his head, and died as a result.
Best way to shorten a murder sentence seems to be to just do it with your car. It's crazy what people seem to get away even if they're clearly deranged, drunk, and blowing through red lights etc..
Oh, especially now in British Columbia with "no fault insurance". At-fault drivers cannot be sued by victims, unless they are convicted of a crime in connection with the incident.
If you can make the vehicular homicide look like an accident, you are scot-free, except for increased insurance premiums. No criminal charges, and no civil case to face.
152km/hr in a 60 zone, drunk, on film saying "I ain't stopping for no red lights", deliberately sped up as he was about the hit the guy, didn't stop afterward, left the scene, then called in to falsely claim the car was stolen, and had been previously convicted of sexual assault. 5 years less time served, 5 years after with no license. I guess the only way you could really top that list is if he continued on to say "hey lets hit that guy and see how far he goes"
It appears inconsiderate—perhaps even dismissive—to present me, a human being with unique thoughts, humor, contradictions, and experiences, with content that reads as though it were assembled by a lexical randomizer. When you rely on automation instead of your own creativity, you deny both of us the richness of genuine human expression.
Isn’t there pride in creating something that is authentically yours? In writing, even imperfectly, and knowing the result carries your voice? That pride is irreplaceable.
Please, do not use artificial systems merely to correct your grammar, translate your ideas, or “improve” what you believe you cannot. Make errors. Feel discomfort. Learn from those experiences. That is, in essence, the human condition.
Human beings are inherently empathetic. We want to help one another. But when you interpose a sterile, mechanized intermediary between yourself and your readers, you block that natural empathy.
Here’s something to remember: most people genuinely want you to succeed. Fear often stops you from seeking help, convincing you that competence means solitude. It doesn’t. Intelligent people know when to ask, when to listen, and when to contribute. They build meaningful, reciprocal relationships.
So, from one human to another—from one consciousness of love, fear, humor, and curiosity to another—I ask: if you must use AI, keep it to the quantitative, to the mundane. Let your thoughts meet the world unfiltered. Let them be challenged, shaped, and strengthened by experience.
After all, the truest ideas are not the ones perfectly written. They’re the ones that have been felt.
Heh, nice. I suppose that was AI-generated? Your beginning:
> It appears inconsiderate—perhaps even dismissive—to present me, a human being with unique thoughts, humor, contradictions, and experiences, with content that reads as though it were assembled by a lexical randomizer.
I like that beginning than the original:
> It seems so rude and careless to make me, a person with thoughts, ideas, humor, contradictions and life experience to read something spit out by the equivalent of a lexical bingo machine because you were too lazy to write it yourself.
No one's making anyone read anything (I hope). And yes, it might be inconsiderate or perhaps even dismissive to present a human with something written by AI. The AI was able to phrase this much better than the human! Thank you for presenting me with that, I guess?
I didn't wear cleats until I was almost 14 playing baseball.. I just used tennis shoes.. some of my friends gave me a hard time about it. I could hit dingers all day so no big deal.
But you know what. I wore a helmet at every at bat. Did I really need it for every at bat?? No; But I had it.
There's a long list of dead people who went into the wilderness or hiking under prepared. Just because it didn't happen to you doesn't mean the same outcome for others.. I know this is supposed to be a metaphor for when to buy and upgrade the tools you have. But safety should always come first.
Know how many 9 year olds I’ve seen hit in the head with a baseball, while at bat? (Many. One kid on my sons team was hit in the head for four consecutive tournaments last fall.)
Always wear a helmet when you’ve got a bat in your hand.
Obviously your idea of safety coming first is based on your exact specifications, which are unclear and known only by yourself, which isn’t actually very useful
I agree with you completely. My country has an out-of-control safety culture that has many unintended effects. For example we are one of only a handful of countries on earth with a cycling helmet law. As a result, fewer people cycle and drivers take less care around cyclists. Lots of studies have shown that at a population level it's quite possible helmet laws have a negative impact on health and safety. I am currently travelling Japan and I have seen thousands of cyclists and not a single helmet (and very little in the way of dedicated cycling infrastructure). To my knowledge Japan doesn't have an epidemic of head injuries.
Safety first doesn't mean "don't do anything unsafe," it has a broad meaning. With your interpretation I suppose it could mean if you're going to do something, be sure to consider your safety tradeoffs first.
I think “safety first” generally means that you should put safety first when you’re doing something but that I should consider the safety trade offs first when I’m doing something.
I've never experienced any deaths on hikes, but I have experienced folks suffering the initial stages of hypothermia (and not realizing it) when wearing jeans on a multi-day excursion when the weather went from dry and sunny to rainy, to icey-rain to sleet.
Unwaxed cotton absorbs water, stays wet, and shrinks when wet to make close contact with skin--three properties that one does not want when its wet and cold.
That depends on the specifics of the environment, trail, and your pants.
Indeed, going "pantsless" for short periods can be less risky if your pants are already soaked-through, it's very humid, there's ice build-up, and there's little to no risk of skin abrasion from terrain traversal.
reply