Another concern: as someone working on a large web development team, I think that maintaining a separate “non-visual” site would entrench a two-tier approach to quality and completeness (noticing and fixing issues, adding new features, etc). If you treat them as two separate applications they will inevitably diverge over time, despite best intentions. You might even end up with slightly different URL structures on each site, making it impossible for a blind user to find the corresponding audio version of a certain URL they found on social media, for example.
Can you please explain how the component paradigm is at odds with semantic markup? Is it just that developers are now satisfied with the semantics being in their component names and props, and don't care if it actually gets rendered as undifferentiated divs?
My own hypothesis is that React gave developers permission to question some things that were previously deemed sacred in web development, and developers went too far with that. Using a component framework like React or Vue is not inherently at odds with producing good semantic markup.
Basically, yes. Also, components often require extra div-nesting for robustness, and then there's the obfuscated classnames (CSS-in-JS), and the way responsiveness tends to be done these days (crude media query helper components that show/hide duplicated subsections of DOM for different devices). This all means the rendered DOM in devtools is bloated and hard to read anyway, so there's less point in caring about keeping it nice and clean.
Also, if you're mostly focused on building individual components, you probably don't feel as much ownership over the page as a whole, so you don't think about how your rendered DOM affects the document outline. Without that bigger picture, semantics isn't as interesting.
Are there any accessibility-first web design frameworks?
It's a well thought-out framework and from what I've read, accessibility was taken into account in the very first stage of the redesign of the new V2
https://designsystem.digital.gov/
Totally free since it's paid for with US tax dollars.
This is most obvious in the OneDrive online. The selectable list of files is implemented using Layout Grid, and thus is a single tab stop. Arrow keys can be used to navigate the grid and inline actions, and it's a single SHIFT-TAB to navigate up to the multi-selection actions.
There's ARIA controls and interactions that are defined in such a way that a non-sighted user can just hear what "type" of interaction it is and already know how to navigate it.
And by the way, it is very common that people can't find words to give me feedback - happens pretty often. So I encourage people to give me feedback - no need to feel like ass :)
If you make the browser window narrower the eye has a lot less trouble moving from the end of one line back to the start of the next.
I like wide screens because they make it better for having two apps side by side, rather than one app full width .
That is interesting. For source code, I've always preferred maintaining a maximum line length of 80 characters. But there are plenty of people who prefer significantly longer line lengths because they feel it's more readable that way.
You may also benefit from getting your vision checked. This may be early stages of something occurring, and the sooner it's identified the better.
And long lines are trivially helped by making the window less wide.
So you've provided a good demonstration about how vastly easier things are to adjust for someone that can see.
Did you make your comment 3 paragraphs ironically?
Then make your window less wide. It's not the writer's problem.
> Did you make your comment 3 paragraphs ironically?
No, but I don't think it would be hard to read if it was one paragraph. That formatting is to add in small pauses, not to make it easier to read when lines wrap.
But... The lack of pauses is exactly what makes a tall paragraph hard to read?
And if those §'s are your other ways of adding pauses, then those are entirely insufficient for inserting pauses for most readers, including me: we're not trained to read those characters as pauses.
Sure, there might be other ways. But they're not applied, making the comment harder to follow for some people than it would be had it been subdivided into paragraphs, and mrep was merely helpfully pointing that out in case mltony wanted to keep those people in mind in the future.
But good for you that you're not one of those people, I guess.
Pretend I said "indicator of separation" instead of "pause" then.
> Sure, there might be other ways. But they're not applied, making the comment harder to follow for some people than it would be had it been subdivided into paragraphs, and mrep was merely helpfully pointing that out in case mltony wanted to keep those people in mind in the future.
By talking about "other ways" to mark a logical separation, I think you're on a completely different argument than mrep. mrep is saying that it's physically hard to track the lines when reading, which is entirely a function of line length and spacing. mrep's problems would be solved if I started adding newlines in the middle of sentences, even though that would make things worse in terms of subdividing into coherent paragraphs.
Exactly. Not all we want and need to tell other people can be reduced to tweets. whoever has the windows maximised on a desktop has another option, and the paragraph was never a 140 character slogan.
Bring back MDIs (maybe)!
I never keep my browser maximized.
HN and other text based sites are more readable in narrower windows or on a phone.
HN on a phone suffers when comments are deeply nested (this one) and when somebody quotes text using spaces as of it was a block of code.
Bur it seems the ad delivery has the priority.
I simply have a separate browser window for “wide development” sites. I see nothing wrong with that.
You might want to get your eyes checked or read up on other disabilities that can impair reading ability even if your eyesight is fine. If you feel so impinged upon that it makes sense to you to ask a blind person to accommodate your needs and problems, you may have an unidentified handicap.
https://www.thevisiontherapycenter.com/discovering-vision-th...
http://www.visuallearningcenter.com/9-signs-your-child-may-h...
I greatly doubt it was anything more than mildy irritating and the grandparent never implied otherwise.
It's annoying for me to read and I have perfect vision.
Being blind doesn't make you immune to an expectation to be accomodating to others.
I already covered the fact that tracking problems can be due to reasons other than poor eyesight. I even provided supporting links for that assertion.
Part of my background is working for an educational organization that catered to the needs of gifted kids, including twice exceptional kids. It was common for early readers to have tracking problems and for parents to share practical tips on how to cope, as well as talk about at what point to get concerned and get the kids checked for something else.
Um. No?
I don't think anyone implied you were. :S
In the case of websites... two years ago I started adopting a11y into my front-end code. But while plugins like eslint-plugin-jsx-a11y make the job easier, it honestly was also a huge pain in the ass familiarizing myself with the grotesque state of affairs in web accessibility standards.
However, one of the biggest gains might have been learning to properly leverage every HTML tag to its fullest. Modern day SPAs have all gone back to using wild div forests with no context or metadata available for readers. This also took much less effort than learning the rest of standards compliance. So start there!
After crossing that river, I think that accessibility is complex enough to warrant its own dedicated developer for almost any project if standards are to be achieved.
Still... until our bosses catch up, we do what we can. Here are some great resources for developers who wish to learn more about how to design for accessibility: https://a11yproject.com/resources/#further-reading
P.S. Is it a reasonable heuristic to assume a reader with no visual formatting in their comments might have a good chance of being blind?
As far as I can recall, most of the blind folks on HN don't post big walls of text. Maybe younger blind people who grew up with text-to-speech and never learned braille are more likely to do that. To me, that would be a good reason for screen readers to deliberately pause for a bit between paragraphs.
EDIT: found this Web Accessibility Evaluation Tools List with 132 items listed! Anyone have advice on which ones are best?
If you have multiple series, you could have different sounds running in parallel - sin wave, square wave or perhaps musical instruments each denoting a different series.
That might actually be usable if there was an automated system for creating them on the fly.
There's also this kind of approach https://www.youtube.com/watch?v=I9lquok4Pdk
https://www.highcharts.com/docs/accessibility/accessibility-... is a good starting point to learn more about the sorts of features and considerations they've made (you can find articles, demos, and videos describing more from there)
It offers a fast 5 minute scan for some of the most common/easily detectable issues, and also a much fuller assessment with a mix of automated checks and guided/assisted manual tests that aims to help web developers who aren't accessibility experts achieve full WCAG 2.1 AA compliance.
Happy to answer any questions about it!
WCAG is, from what I can tell, a reasonably good starting point and even attempting to do _some_ things and being generally aware is better than not doing anything at all. Give the guidelines a read, https://www.w3.org/WAI/standards-guidelines/wcag/
Online shopping experiences vary widely. I love it when the interface isn't even noticed/gets out of your way.
Lately I have been part of building a quite popular website in my native country, and this time, as I have had more autonomy than before, decided to go ahead and add as much accessibility helping markup and proper elements as possible. Eg. everything that can be clicked is now a button (no more divs with onClick-handlers) and by the way, is adding tabIndex to divs even sufficient for triggering clicks? Since by default the Enter-key is not bound to trigger the click-event for elements other than buttons and links (I assume).
Anyway, I went ahead and added as much accessibility I could, but some things were bit too much of extra work that I decided not to add them. So I was just wondering, how bad is it when modals don't automatically capture the focus and you can't really travel into them unless moving all the way to end of the document (where the element lies)? From what I glanced from the aria spec, the focus should immediately move into the modal and get trapped where you can only by invoking an action (eg esc-key, click x-button or submit) dismiss them.
Also how important are the aria-labels for buttons and such? Should everything worth noticing be annotated? Or can you guess from say the button text what they are for. Also I read somewhere that inputs should always have labels, but sometimes it's problematic to add them eg dates with three inputs with only one label "Birthdate". Can I supplement the label with some aria-property instead?
Sorry for asking so many long questions, these things have been on my mind a lot and I really haven't had anyone to tell me if the accessibility fields I have added were correct or not. It's quite annoying how confusing the spec is and how difficult it's to know if the aria properties are correct/make sense or not. Eg how many aria-haspopup etc properties should a dropdown have and which of its elements have which.
I'm just going though a web course on this which is pretty good.
https://www.udacity.com/course/web-accessibility--ud891
I think moving focus into the modal is pretty helpful
Here's the video on focus
https://www.youtube.com/watch?v=BoAsayPVogE&t=65
You can set tabindex="-1" on the header of the dialog, and move focus to that. (Also set outline: none on the dialog, but not anything else). Then you can just call focus() on it, which isn't too hard.
I think it's okay if you don't remove the ability to focus on all the background stuff if the focus is at least moved into the modal.
I think for aria-labels for buttons, the best way to check this is to either use chromevox/ a screenreader and see what it says for the button. You can also inspect element, and go to the aria tab in chrome dev tools, and see what aria name is computed. You can see the order it takes them from, with aria-labelledby, aria-label, then contents.
If the name is reasonable, then you don't need a aria-label at all.
How accessible is a basic, plain vanilla, semantic HTML document? I.e., a fully server side rendered HTML doc that uses paragraph and heading and so forth tags for what they semantically mean. Are those type pages accessible, or is more work required to make them accessible?
Unless it doesn't. Yes, it gives you an audio captcha. No, it's not a good solution, as it's in english only, and a pretty good command of the language is required to solve it, especially now.
If you use TOR for some reason (nosy admin in my case). They always ask you to solve the challenge, but when you click audio, you get a spoken prompt saying "this computer is sending too many automated requests, so audio captchas have been blocked". I don't know who you'd need to sue, though. Either Google for not providing you the audio version, Cloudflare from preventing you access (and outsourcing the verification to Google), or the website itself for getting Cloudflare protection.
I'd like to make sites I build more accessible, but I must admit I'm only familiar with the bare minimal guidelines I've read in a couple articles. I don't even know if they're correct or up to date. Nobody I've worked for has ever made this a priority, so I'm quite ignorant on the subject.
I'm merely a sighted user here, but I can personally attest that when you've mastered touch-typing, you can tell when you make a mistake and correct it without needing to look at the screen. It is a bit of an eerie feeling the first time you do it.
Full disclosure: I touch-typed this reply, and I made five mistakes when doing so, and fixed all of them without looking at the screen.
It has its limitations: It doesn't help you spell better, only correct typing mistakes.
https://silktide.com/resources/toolbar
It’s not a substitute for real-world testing, but it should help you appreciate the basics without having to learn a full screen reader.
We’re also working on some accessibility games right now (scores challenges for you to complete in a browser with a simulated disability), which sound a lot like what you’re suggesting.
TBH we call it "myopia" in the plugin because it's short and what we think most users would understand. Many visual disabilities cause a similar blurring effect, such as cataracts.
Toolbar seems a lot easier to to use for sighted developers. Less of a learning curve.
Oddly M doesn't seem to jump to the main content for me. I wonder if I've done something wrong. I'm going to play with it.
Thanks for developing this!
If you use a Mac, just enable VoiceOver: https://www.apple.com/voiceover/info/guide/_1121.html
If you use Windows, I suggest NVDA - it's a free screen reader that's similar to the most-popular-but-expensive one (JAWS): https://www.nvaccess.org/download/
IMHO the best screen readers are on your phone / tablet. This might sound crazy (how can a touchscreen work when you can't see it?) but they're much better designed than their desktop equivalents. Mobile software tends to be simpler, resulting in a better experience:
iOS: https://www.youtube.com/watch?v=qDm7GiKra28
Android: https://support.google.com/accessibility/android/answer/6007...
If you work in web tech and take 1-2 hours to learn one of these you'll be able to dazzle others with it for the rest of your life.
As a note, for any sighted developers (like me) reading along: I'd highly recommend you to spend half an hour to learn and practice navigating software with a screen reader some time. It's a relatively easy step that gives you a lot of insight into low-hanging fruit in terms of accessibility improvements.
(Also, keep in mind that accessibility is not just vision impairments. Things like small click targets can make things a lot harder for people with motor issues, e.g. many elderly people.)
For small businesses I imagine the biggest problem is that they only have only one engineer to support a web site, and he is not familiar with accessibility standards (justifyably so, because there are so few blind people out there), and he'd have to learn these standards and test the web site for accessibility problems - all these actions require time.
And my other hunch is that using standard HTML elements is actually a less expensive way to build websites. But I'm not sure on that. I haven't touched front end in a long time.
Fewer errors from people mishearing you too.
And also every now and then I need to read a science paper in PDF format - somehow they still haven't figure out how to make accessible formulas in Latex-generated PDFs, so I'd have to use an OCR called InftyReader to OCR this PDF to get the formulas.
In my experience the worst offenders are drivers for printers and scanners. Every time my printer runs out of ink on my computer it'll show me a dialog, that my screenreader doesn't recognize at all. So by the presence of empty window I'll have to deduce that it's running out of ink. Scanner driver is completely inaccessible, so I had to get a linux box just to use my scanner - at least all the command-line tools are accessible.
I want to do more than just run sites through validators. Is JAWS still a good accessibility program to test with? Are there other major accessibility programs I should be testing with?
I've typically only tested with one, so it'd be good to ensure there's nothing weird with others.
Thanks!
No Coffee: https://chrome.google.com/webstore/detail/nocoffee/jjeeggmbn... is quite useful to get a non-scientific empathy hit for graphic decisions and how that interacts with common sight problems (98% of people by age 51 have presbyopia) and Sim Daltonism: https://michelf.ca/projects/sim-daltonism/ will give you a more accurate representation of all the most common colour blindnesses (1 in 12 men).
I also urge everyone to turn ON tabbing on their Mac (System Preferences > Keyboard > Shortcuts tab > All Controls) and tab into their sites (unplug your mouse). I also often do a run through with Vimium: https://vimium.github.io/ which gives me some aspects of a voice interaction type system.
These tools will get you some of the way there, though there are established ways to build components which will solve 90% of all known access problems. The main solution is simply to write native HTML. A major issue is how hard it is to style native form elements (like datalist) -- it means developers can't get it past design/clients.
IIRC, the screen readers will read back texts you just typed as well, but I'm not sure that is as necessary since most folks can get by with typing just fine.
What do you think of the multiple voice assistants out there? Do you think that would be an acceptable alternative or tradeoff if Domino made a bot to take orders?
When the nerves that make my eyes work stop behaving correctly, it's also normal for the nerves in my throat to flip out so that speaking feels like breathing razor blades.
Making a call isn't an option, but using a web browser still is, if they haven't gone out of their way to break all the ways a web browser is supposed to behave.
I either use Kurzweil 3000 (Windows|Mac|Browser) (paid)|JAWS (Windows) (paid)|Voice Dream Reader (iOS|Android)| VoiceOver (iOS) (free)| Talkback (free), depending on what I am doing and how my much my eyes are affecting me at that moment.
I taught myself braille and I have a couple of refreshable braille displays, which I use, depending on how well my eyes are working.
I can digitize printed material well, including STEM material, using a program called InftyReader (Windows).
It is no fun, but you have to do what you have to do.
If there was an online system that only worked with screen readers and the company said "sighted users can just call instead" I wouldn't use that company, and if they had the best price offering I'd be very annoyed. Making an inaccessible website is exactly the same.
There are many, many indignities that we encounter, even nearly constantly due to the way society ignores our needs.
If you go and check out some disabled activists' Twitter accounts, you may be shocked at the anger and the lack of "decency". But, put yourself in their shoes, and realize that they have been forced to deal with systematic and near-constant indignities, and many of them have been forced to fight for their mere existence as human beings.
While I don't claim to know what such disabilities are like, I feel I have experienced analogous frustrations. Back when Linux on the desktop and Firefox were catching on, I remember it being a crapshoot about whether critical sites (like banks and tax filing) would play nice with non-IE browsers, and I had to have a PC/Windows/IE setup as a fallback. Same issue: the use the meth-addled design that breaks any non-mainstream clients.
I also use Tridactyl (and before it, Vimium and pentadactyl), an extension that lets you click links from the keyboard, which is a huge UI improvement and (along with other keyboard input methods) speeds up web browsing significantly. It's generally good at detecting links, but the same sloppy design and over-clever features make clickable elements undetectable and frustrate this enhancement.
And for the kicker ... often times, these improvements "for the disabled" end up benefiting everyone else even more, but designers/buisdev people don't get it! See my previous comment about the Curb Cut Effect [1].
The web was designed with screen readers in mind. It is a serious regression to find major sites telling blind users to call in. This isn't the 60s.
Are those standards sufficiently complete as to be referenced by regulatory agencies?
If so, what's keeping us from adopting standards or at least recommendations for legal compliance?
I think that Domino's assertion is that the current framework is too vague, but I regularly see the argument that there are standards to follow. So... What are those standards, and why aren't they law?
Yes.
Shrug.
See above.
But, just for the sake of your curiosity, American Airlines charge $35 per ticket[1] when you call them to book.
[1] https://www.aa.com/i18n/customer-service/support/optional-se...
Source: former multi-store, multi-Rolex winning Domino's franchisee.
Once the coupon left, he went to the competition. I used to spend about $1,000 a month in advertising just to get a few new customers to call. Keeping the ones you have is orders of magnitude cheaper, even if they complain about "cold pizza" once a month or so to get a free pie.
Rather than working with community groups to help each other find a workable solution.
Or they just mistype something and leave it... but your screenreader reads it and you hear/know how to spell it so you introduce bugs because you're using correct or localized spellings of a variable name when everywhere else in the code uses the incorrect or other-localized version?
You could see where there could be some major nomenclature issues.
Of course a good design policy could help, but someone still can mis-spell something, or even just caps in the wrong place.
Someone might make: const Sidebar and someone else calls it SideBar.
My main question is how do blind programmers deal w/ these sort of issues, I think that would be the hardest thing not being able to see.
Hell, I've mis-spelled something before and took me awhile to figure out that was what was breaking things.
Of course maybe using statically typed languages and things could help.
I'm sure their also tooling I'm unaware of, but definitely curious how they navigate these type of scenarios.