Smashing Magazine - #354: Front-End Accessibility

Accessible autocomplete, hidden content, custom radio and checkboxes, and accessibility linter. Issue #354 May 24, 2022 View in the browser 💨

Smashing Newsletter

Merhaba Smashing Friends,

We often get entangled in conversations about all the fine details of interface components. And we should! We need to have conversations about perfect buttons, the right icons, and the best typographic pairings. Yet perhaps sometimes, we jump into these conversations a bit too quickly.

Complete Guide to Accessible Front-End Components
When a button is not a button: a guide by Vadim Makeev.

Like everything else, accessibility is expensive when it’s brought up late in the process, but it’s quite straightforward if we design and build with accessibility in mind from the start. In fact, we’ve even published an evergreen Complete Guide to Accessible Components, which hopefully gives all of us a great headstart for any kind of project.

In this issue, we look into some fine aspects of front-end accessibility — from accessible autocomplete and custom radio and checkboxes to hiding content responsibly, accessibility linter, and how to make content accessible to everyone with purchasing power parity.

SmashingConf SF 2022
Sara Soueidan doing her accessibility magic on stage, in front of the audience, at a SmashingConf.

On the Smashing side of things, we’ll dive deeper into accessibility at our upcoming SmashingConf SF in-person this June. We still have a few tickets left!

Ah, and of course, accessibility and usability are always a cornerstone of our online workshops and video courses. And we’d be absolutely thrilled to welcome you there as well.

Until then, let’s make the web a bit more accessible, everyone!

Vitaly (@smashingmag)


1. Accessible Autocomplete

A combobox (also known as “autocomplete”) might seem like a rather straightforward thing to do, but it contains quite some complexity, especially if you want to make sure it is fully accessible and caters for a flawless experience on mobile devices. The team at Adobe created an accessible autocomplete experience for the React implementation of their Spectrum design system. Daniel Lu shares some valuable insights into the component and the problems it solves.

Creating an accessible autocomplete experience

The ComboBox component and React Aria useComboBox hook were tested with screen readers across desktop and mobile devices and with different input methods including mouse, touch, and keyboard. On small screens, the React Spectrum ComboBox is automatically displayed in a tray to give users a larger area to scroll. The autocomplete suggestions can be loaded asynchronously and on demand through infinite scrolling. Furthermore, the React Aria hooks give full control over the rendering and styling of the component. Let’s make autocomplete better — for good. (cm)


2. Hiding Content Responsibly

Sometimes you might want to make something invisible but still accessible for screenreaders. Widgets, offscreen navigation, closed dialogs, or icons, for example. But what’s the best way to do so? It depends on your use case. Kitty Giraudel looks in detail at different techniques to hide something responsibly and when to use which.

Hiding Content Responsibly

In a nutshell, Kitty recommends the following roadmap for hiding content. If you need to hide something both visually and from the accessibility tree, use display: none or the hidden HTML attribute. If you need to hide something from the accessibility tree but keep it visible, use aria-hidden="true". And last but not least, if you need to visually hide something but keep it accessible, use the visually hidden CSS declaration group. Be cautious when hiding content, though, to avoid too many discrepancies between the visual content and the underlying content exposed to the accessibility layer. (cm)


3. Pixels, rems, And Accessibility

Should you use pixels or ems? Well, it’s an emotionally-charged question with a lot of conflicting options. Some say, rems are better for accessibility, others say pixels are just fine. According to Josh W. Comeau, it’s not an either/or situation. If you want to build the most accessible product possible, he suggests to use both pixels and ems/rems. In some instances, rems are more accessible, in others, pixels will deliver better results as Josh points out. But how to decide when to use which?

Josh wrote a handy tutorial that teaches you to use your intuition to figure out which unit to use in which scenario. It covers how each unit works, looks at what the accessibility considerations are, and how the units can affect these considerations. To make switching between both as smooth as possible, Josh also shares his favorite tips and tricks for converting between units. A fantastic breakdown of a heavily-discussed topic. (cm)


From our sponsor

Take Your Work For Clients To New Monetary Heights

Take Your Work For Clients To New Monetary Heights.
Discover how successful Wix Partner and founder of 120 Design Studio, Marshall Fox, works smart to earn five figures for the client sites he builds. In this video, Marshall covers everything from how to position your business as a premium service provider to adopting a clear marketing message.


4. Radio Buttons And Checkbox Styling

In the past, creating custom radio buttons and checkboxes usually involved quite some workarounds due to inconsistencies with Firefox, Internet Explorer, and pre-Chromium Edge. Luckily, Firefox quirks have been ironed out, Edge is now Chromium-based, and Internet Explorer support is being dropped. So with styling limitations largely lifted, what’s necessary if we want to directly restyle radio buttons and checkboxes today? Scott O’Hara takes a closer look.

Custom Styling Radio Buttons And Checkboxes

Good news: There are very few reasons to continue using the good old visually hidden workaround today. It has far too many gotchas to be aware of as Scott points out. To help you style your radio buttons and checkboxes, he explains what you need to account for in your CSS and how to add additional effects like animation without causing accessibility issues. Good to know! (cm)


5. Upcoming Online Workshops

You might have heard it: we run online workshops around frontend and design, be it accessibility, performance, navigation, or landing pages. In fact, we have a couple of workshops coming up soon, and we thought that, you know, you might want to join in as well.

Smashing Online Events
With online workshops, we aim to give you the same experience and access to experts as in an in-person workshop from wherever you are.

As always, here’s an overview of our upcoming workshops:


6. Automating Web Accessibility Testing

Maybe it’s a missing alt attribute or a heading structure that isn’t semantic, often it’s little accessibility issues like these that slip our attention and make it into production. The GitHub app AccessLint is here to prevent this from happening by bringing automated web accessibility testing into your development workflow: When you open a pull request or make edits to an existing one, AccessLint is already there, automatically reviewing the changes and commenting with any new accessibility issue before the code goes live.

AccessLint

But what about end-to-end testing with real assistive technology? To make it easier for developers, PMs, and QA to perform repeatable, automated tests with real assistive technology — without having to learn how to actually use a screen reader — Cameron Cundiff built Auto VO. Auto VO is a node module and CLI for automated testing of web content with the VoiceOver screen reader on macOS. If you want to dive deeper into how it works, Cameron summarized everything you need to know in an article. Happy testing! (cm)


7. Purchasing Power Parity

While globalization and technology bring the world closer together, they also highlight the gap in privilege and purchasing power. But we all can make a difference. We can optimize our sites and apps for slow connections and devices with limited capabilities, we can offer alternative payment options apart from the common online payments, and, as independent creators, we have Purchasing Power Parity at our disposal. If you haven’t heard of Purchasing Power Parity yet, Sophia Lucero wrote a fantastic blog post that dives deeper into what it is all about.

Purchasing Power Parity

Purchasing Power Parity means that you offer variable pricing depending on a country’s purchasing power, i.e. you give a discount to customers based on their location. The calculation could be based on personal reasoning, but there also are SaaS and APIs that generate discounts that ensure that all customers have a fair chance to afford your product.

In her post, Sophia shares interesting insights into the current state of Purchasing Power Parity, helpful resources, and ways to implement PPP. By the way, the concept also brings along benefits for the creator: By making your product more accessible and affordable, you might experience higher sales and a growing customer base. A win-win situation for everyone involved. (cm)


From our sponsor

Build In-Demand Skills In Northwestern’s Online MS In Information Design And Strategy

Work at the Intersection of Data, Design and Technology. Earn your master’s degree online at Northwestern Information Design and Strategy.
Earn your master’s degree online.


8. Ethical Design Resources

As professionals in the tech industry, we all have the responsibility to put ethics at the core of the products we build. If we don’t, we risk that they cause serious harm. Think of predictive policing software that’s biased against Black people, products that reinforce gender stereotypes or exclude non-binary folks, or websites that simply aren’t accessible. But what do we need to consider if we want to do better?

Ethical Design Network

In their Ethical Design Guide, Sarah Fossheim collects resources on how to create ethical products that don’t cause harm. The topics that the books, articles, courses, and tools cover range from bias in AI and inclusive design to LGBTQIA+ and race. More links will be added continuously.

Another fantastic resource is the Ethical Design Network. Founded by Trine Falbe, it is a space for digital professionals to help them share, discuss, and self-educate about ethical design. The network features a growing library of tools, software, and other resources focused on, and built with, ethical design. There’s also a Slack community and a monthly event to inspire and empower each other. Two wonderful initiatives. (cm)


9. New On Smashing Job Board


10. Recent Smashing Articles


That’s All, Folks!

Thank you so much for reading and for your support in helping us keep the web dev and design community strong with our newsletter. See you next time!


This newsletter issue was written and edited by Cosima Mielke (cm), Vitaly Friedman (vf) and Iris Lješnjanin (il).


Sent to truly smashing readers via Mailchimp.
We sincerely appreciate your kind support. You
rock.

Follow us on Twitter Join us on Facebook

unsubscribe update preferences view in your browser

Key phrases

Older messages

#353: Dashboards and Data Visualization

Tuesday, May 17, 2022

Dashboard design, better charts and how to make better decisions around data visualization. Issue #353 • May 17, 2022 • View in the browser 💨 Smashing Newsletter Dear Smashing Friends, I had a dream

#352: Front-End Tooling

Tuesday, May 10, 2022

Terminal tools, VS Code extensions, DOM events, bundle analyzer and accessible Vue.js. Issue #352 • May 10, 2022 • View in the browser 💨 Smashing Newsletter Dobryy vechir Smashing Friends, There will

#351: Interface Design Tools

Tuesday, May 3, 2022

With image clean-up tools, free icons, font utilities, accessible color palettes and image upscaling. Issue #351 • May 3, 2022 • View in the browser 💨 Smashing Newsletter Hei Smashing Friends, We all

#350: Front-End Debugging

Tuesday, April 26, 2022

With memory debugging, terminal tips, debugging strategies, DevTools and debugging tooling. Issue #350 • Apr 26, 2022 • View in the browser 💨 Smashing Newsletter Dear Smashing Friends, A few years back

#349: SVG

Tuesday, April 19, 2022

With SVG masks, SVG Grids, grainy gradients, SVG cut outs, image grids and conversion from bitmap to SVG. Issue #349: SVG • Apr 19, 2022 • View in the browser 💨 Smashing Newsletter Dear Smashing

You Might Also Like

Subframe, Attributes vs Properties, Front End Handbook, aspect-ratio, GenAI

Thursday, April 25, 2024

The 5 best design links, every day. Curated by a selection of great editors. Email not displaying properly? View browser version. Sidebar April 25 2024 Subframe subframe.com Subframe is a design-to-

Ritmo, Climate Change, Icons & Typefaces, Click Wheel JS, CarPlay

Wednesday, April 24, 2024

The 5 best design links, every day. Curated by a selection of great editors. Email not displaying properly? View browser version. Sidebar April 24 2024 Meet Ritmo, Musixmatch's cross-platform

Why Jake Arnold Doesn’t Text Clients

Tuesday, April 23, 2024

View in your browser | Update your preferences We've had a remodel! From now on, you'll be hearing from AD PRO in your inbox twice a week—once with a deep dive into trends to watch and subjects

The secret ingredient to media success

Tuesday, April 23, 2024

PR tips from our founder Nora Wolf In this month's edition is all about *the most important* element of successful media outreach—photography. You may have some photos, but if the backgrounds are

#453: Design Systems

Tuesday, April 23, 2024

Design system generator, types of design systems and how to consolidate design systems. Issue #453 • Apr 23, 2024 • View in the browser Smashing Newsletter Buổi tối vui vẻ Smashing Friends, Ah, design

👨‍🏫 Striking Educational Website Designs + 🏆 Challenge Updates

Tuesday, April 23, 2024

Your UpLabs Design Updates Await! Let's Get Going! 🎨 Firstly, let's congratulate Mariana Gameiro, the winner of our latest 👩‍💻 SheCodes Website Redesign Challenge! Congratulations!! Secondly,

Code Connect, JS Naked Day, Shape of AI, Product Design, CSS Grid Level 3

Tuesday, April 23, 2024

The 5 best design links, every day. Curated by a selection of great editors. Email not displaying properly? View browser version. Sidebar April 23 2024 The Right Code for Your Design System figma.com

Accessibility Weekly #393: When Security and Accessibility Clash

Monday, April 22, 2024

April 22, 2024 • Issue #393 View this issue online or browse the full issue archive. Featured: When security and accessibility clash: Why are banking applications so inaccessible? "While using

Bézier Curves, CSS Motion Extraction, CSS Testing, CSS Theming, Women Who Code

Monday, April 22, 2024

The 5 best design links, every day. Curated by a selection of great editors. Email not displaying properly? View browser version. Sidebar April 22 2024 Flattening Bézier Curves and Arcs minus-ze.ro

What makes a great seed stage founder

Sunday, April 21, 2024

Issue 191: What to look for (and avoid) in early builders ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏