Chris Ashton

fortnight11y issue 50

At long last, we’ve hit the 50 issue milestone (or, if you count all the dai11y, week11y, fortnight11y and month11y newsletters together, over 600!). I’ve been publishing fortnight11y newsletters for over two years now, with the first issue published in November 2019.

I didn’t honestly know if I’d be able to keep it up, especially after stepping down from frontend web development and becoming a backend developer. But I’ve really enjoyed keeping up to date with the ever-evolving world of accessibility, and sharing my learnings with you. As ever, please do spread the word about the newsletter – your friends and colleagues can sign up here – and do drop me a line if there’s anything you can think of to improve the newsletter (or any feedback you’d like to give).

Without further ado, let’s kick-off issue 50 with a double HTMHell digest!

Edge dev tools screenshot: A demo site with broken html like empty buttons, img without alt, wrong aria roles, missing aria roles, and aria-hidden on focusable elements.
Screenshot of Edge browser’s “Elements” tab, showing ‘warning’ underlines on inaccessible HTML.
  • Debugging HTML: Accessibility
    • “In Chrome or Edge open DevTools, click the Elements tab, select the element you want to inspect and click the Accessibility tab. The accessibility pane shows you how the element is represented in the accessibility tree, which ARIA attributes it has, and its computed properties.”
    • Buttons need a label (denoted by Name:, populated by fields such as aria-label, title, or button innerText).
    • Buttons need a suitable role (denoted by Role: "button").
    • Buttons need to be focusable (denoted by Focusable: true).
    • Note that you also need to be able to activate buttons with Space or Enter, but this information isn’t exposed in the Accessibility tab.
    • There are also instructions for Firefox, which uses a different accessibility API. For example, the role name in Firefox will be pushbutton, rather than button.
  • Debugging HTML: Linting
    • The Edge browser now highlights accessibility issues directly in the elements panel of the DevTools (see screenshot).
    • “The built-in linter highlights potential issues in your HTML by marking affected elements with a squiggly yellow line”.
    • “If you hover over the opening tag, a tooltip with a description of the issue appears.”

The ADA lawsuit settlement involving an accessibility overlay

  • A UX Collective article about a recent case against accessibility overlays.
  • Eyebobs is an online glasses company that used an accessibility overlay to attempt to conform to WCAG. It was sued by a blind plaintiff in January 2021, for violations of the ADA (Americans with Disabilities Act).
  • The case enrolled Karl Groves as an expert witness, who wrote a 35-page indictment of how inaccessible the Eyebobs site was even with the overlay. Karl also created, to educate on how accessibility overlays don’t work.
  • The settlement requires Eyebobs to take the following actions:
    • Create an accessibility coordination team
    • Perform an accessibility audit of its ‘digital properties’ (using an accessibility consultant)
    • Adopt an accessibility statement
    • Implement an accessibility strategy
    • Provide accessibility training to its employees
  • It must comply with these measures within two years.
  • It must also work with third-parties (such as embedded maps) to make their content accessible. The deadline for this can be extended up to five years, reflecting the added complexity.
  • The article ends with a link to Lighthouse vs ADP – “the next lawsuit to keep an eye out for”.

Next, a two-article special – both written by Raghavendra Satish Peri:

  • The Captcha Conundrum & Accessible Alternatives
    • Raghavendra, a blind, accessibility specialist, talks through the problems they faced trying to create an account on Wikipedia. They were faced with a CAPTCHA (Completely Automated Turing test to tell Computers and Humans Apart). It was visual only, and had no audio alternative and no option to use a one-time confirmation code sent to email or phone.
    • Some CAPTCHA solutions do provide an audio alternative, but this is inaccessible to deafblind users.
    • In addition to email/phone options, you could also use the honeypot method, whereby a text field is added to the form but visually hidden. Bots will find the input and fill it with text, so you can avoid a lot of spam form submissions by filtering out all submissions that contain that input.
    • Another inclusive option is a logical or mathematical test, e.g. “Is fire hot or cold?”, as bots will struggle with this. It can be confusing for some users to know how to respond, however.
    • Google’s reCAPTCHA is apparently quite good, requiring only a box to be checked. However, it sometimes treats screenreader behaviour as bot behaviour.
    • Raghavendra concludes “it’s always better to offer multiple options that work for multiple types of disabilities than just one or two”.
  • Scroll to top: Where should the focus land?
    • This is more of a placeholder than an article, in which Raghavendra asks us, the community, where the focus should land when activating a “scroll to top” link. What exactly is the ‘top’? It’s easy enough to visually scroll to the top of the page, but where should the keyboard focus go? We have three options:
      1. Move focus to the <body> tag (a poor experience in NVDA, as nothing is announced).
      2. Move focus to the “Skip to main content” link.
      3. Move focus to the <h1> heading level one, or <main> region landmark.
    • There is no definitive answer, but there are some interesting comments at the bottom. The community seems largely split on whether it should be 2 or 3.

Blind People Won the Right to Break Ebook DRM. In 3 Years, They’ll Have to Do It Again

  • This Wired article details how accessibility advocates in America regularly have to go to court in order to be granted an exemption to the Digital Millennium Copyrights Act (DMCA). The exemptions, which last for three years at a time, mean that blind people are able to circumvent copy protections on ebooks for the sake of accessibility. It would otherwise be illegal for these users to use third party programs (such as JAWS) to lift text and save in a different, accessible file format.
  • In 2014, publishers fought Amazon for enabling a text-to-speech (TTS) feature on the Kindle, claiming that it violated their copyright on audiobooks. To this day, publishers are able to disable TTS on their books, which makes it difficult for blind people to consume their content.
  • Even when TTS is enabled by the publisher, many ebooks lack alternative text for their illustrations. Non-profit initiatives like Bookshare can provide semi-accessible versions of inaccessible books, but they must agree not to change the content, meaning they’re not permitted (or, in the world of academia, sufficiently qualified) to fill in any missing alternative text.
  • In Europe, there is already a law (the European Accessibility Act) requiring all ebooks published in the EU to be fully accessible from June 2025. There is hope that this might set a precedent in the USA, meaning that advocates would no longer have to fight the case for exemption every three years.


  • Chancey Fleet writes a Twitter thread about their experience using Google Translate’s new “Transcribe” feature for iOS.
  • Chancey wanted to watch Netflix’s House of Flowers, which is in Spanish. It has English subtitles, but the ‘audio description’ of scenes is in Spanish.
  • Chancey uses VoiceOver with a Braille screen reader, i.e. it outputs to a Braille display rather than as speech. Chancey wanted to use Transcribe to catch the dialog and audio description, translate it, and output it to Braille.
  • Evidently, Google was not happy with this, failing immediately with “PLUG IN HEADPHONES TO USE TRANSCRIBE WITH VOICEOVER”. Chancey tried to fool it by plugging in a Lightning headphone dongle, but that didn’t work. They tried closing VoiceOver, starting the Transcribe, and then launching VoiceOver again, at which point the transcribing immediately stopped with the same error message.
  • Why was this happening? Because VoiceOver speech would, naturally, mess with the effectiveness of the transcription. However, outputting to Braille would not interfere with the transcription. This is not a scenario that the team behind Transcribe have considered, so Transcribe simply shuts down, rather than giving the user a friendly warning and then allowing them to continue.
  • In my developer career, I have sometimes been asked if it is possible to detect whether someone is using a screen reader, to give them a different experience. This Twitter thread shows exactly why this is a bad idea. You’re never going to know your users better than they know themselves.

Letting users tick a ‘none’ checkbox

  • A GOV.UK blog post from the Design System team, describing why they’ve added a new feature to the checkboxes component.
  • When answering questions, users can be unsure what to do if none of the options apply to them. Users “want to give a clear answer, especially if they’re concerned about completing an application accurately and truthfully”.
  • Additionally, some users might assume that if they leave the checkboxes unchecked, that the system will return them to the question later, not realising that they’ve actually skipped the question.
  • Some services using the checkboxes component were already adding their own “None” option, which was not ideal as it meant users could provide contradictory answers, such as “None” in addition to other options.
  • Supporting “None” natively in the component meant that the developers were able to add JavaScript to prevent users from ticking the “None” checkbox in addition to other boxes. It also meant they could style the option slightly differently.
  • It is still up to services to decide on the wording of the “None” checkbox. The blog post advises against directions like “None of the above”, as this is a visual reference that makes little sense to screen reader users. “None of these” is better.

Twitch streamer beats Dark Souls 3 with a single button

  • Twitch streamer Rudeism used a homemade, single-buttoned controller to complete Dark Souls 3, a notoriously difficult game. In order for the one-button system to work, he mapped the game’s inputs to Morse code.
  • He pressed the button 258,250 times during his two-month run of the game.
  • During the challenge, Rudeism raised money for AbleGamers: “a nonprofit organization that advocates for accessibility in the video game industry”. He was also advocating for games to support more accessibility options and difficulty modifiers as standard.

Did you know that you can subscribe to dai11y, week11y, fortnight11y or month11y updates! Every newsletter gets the same content; it is your choice to have short, regular emails or longer, less frequent ones. Curated with ♥ by developer @ChrisBAshton.