Design Systems Carnival! One Accessible Component, Many Pretty Masks

Rate this content
Bookmark

Design System components are like guests at a Venetian Carnival, enjoying the festivities. One guest — the disclosure widget — wears three distinct masks, elevating a Carnival to a Masquerade Ball. Or… is it? What kind of Carnival are you attending if those masks get mixed? In this talk, you’ll learn the secret to creating a reusable — and accessible — component that can masquerade as many and give your component library access to the most exclusive of Carnival attractions.

This talk has been presented at React Summit US 2023, check out the latest edition of this React Conference.

Watch video on a separate page

FAQ

Kathleen McMahon compares design systems to a carnival, emphasizing variety and consistency, similar to the masks in Venice.

The speaker is Kathleen McMahon, an engineer, designer, speaker, and occasional cyclocross racer.

The presentation slides and resources will be posted on https://notist.org after the talk.

Kathleen McMahon's social media handle is @resource11 on Twitter, Instagram, GitHub, Mastodon, and Blue Sky.

The main topic is the design system called Carnival, focusing on accessible components and their importance.

Accessibility ensures that users with different needs (vision, hearing, motor skills, cognitive, sensory, language, low bandwidth) are not left behind, making the web usable for everyone.

The WebAimillion report is an accessibility analysis of the top one million homepages, highlighting the increase in ARIA attributes and associated errors over the past five years.

ARIA (Accessible Rich Internet Applications) attributes help improve the accessibility of web content by providing additional information to assistive technologies, but they must be used correctly to avoid increasing errors.

A disclosure widget is a button that opens and closes a container, providing a way to hide and show content while maintaining accessibility.

Mixing different patterns and roles (e.g., menu and disclosure widget) should be avoided to prevent confusing screen reader users and creating overly complex components.

Kathleen McMahon
Kathleen McMahon
27 min
13 Nov, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

The Talk discusses the concept of design system Carnival and its relation to masks. It emphasizes the importance of accessibility in design systems and provides guidelines for implementing the Disclosure So Hide pattern. The Talk also covers topics like focus management, mouse interactions, and extending the disclosure widget. It warns against mixing different roles and complexity in design systems, using the example of a carousel. Overall, the Talk highlights the challenges and considerations in creating effective design systems.

1. Introduction to Design System Carnival

Short description:

Welcome, everyone. I am Kathleen McMahon, and I'm here today to talk about design system Carnival. My presentation will be posted on notice. That is https://notist.org. Including links to resources. After my talk. Some time. I'll also post the full URL on Twitter. I refuse to call it X. On Twitter. Some time after my presentation. You can follow me. At resource 11 on Twitter, Instagram, GitHub, Mastodon, Blue Sky. Wherever you can find me. Resource 11.

Welcome, everyone. I am Kathleen McMahon, and I'm here today to talk about design system Carnival. One accessible component. Many pretty masks.

And before we begin, let's get some details out of the way. Let's make sure my clicker is working. It is not. Rad. Go! Now, it is success. My presentation will be posted on notice. That is https://notist.org. Including links to resources. After my talk. Some time.

And my nose is running. Why is my nose running? I'll also post the full URL on Twitter. I refuse to call it X. On Twitter. Some time after my presentation. You can follow me. At resource 11 on Twitter, Instagram, GitHub, Mastodon, Blue Sky. Wherever you can find me. Resource 11.

And who am I again? Let me back up and introduce myself a little bit better. I am an engineer, I am a designer and I am a speaker. I am occasional cyclocross racer. In costume, of course. Very bad racer. I love lights. Going to the beach, collecting sand dollars.

2. Design System Carnival and Masks

Short description:

It's literally the where's Waldo of the ocean. I have worked on a few design systems including a O'Reilly media, Watch Darkly, Most Recently, Most Recently, Northwestern Mutual, and I love design systems. They are always the hotness. And design systems are like herding kittens. Always fun. A lot of moving parts. And I think design systems are like a carnival. And what do I mean by that? So, when I visited Venice last fall, I was fascinated by the masks. I love their beauty. And their variety. And they were everywhere in Venice. And I learned that masks have a rich history of providing access and helping a person to blend in to hide their gender, their identity, their social class.

It's literally the where's Waldo of the ocean. Love my cats Thor and Otis. And I collect a ridiculous amount of crystals. Thanks, COVID. Hobbies. And I photograph them. But Otis has many opinions. He interferes. And he has opinions on where I should put my attentions. Thanks, Otis. And now Thor has learned to do the same with my sand dollar collection. He's very satisfied with himself. But who could resist them? And this is how me as a neuro spicy sparkly individual shakes off my anxiety. So yay for being neuro spicy.

I have worked on a few design systems including a O'Reilly media, Watch Darkly, Most Recently, Most Recently, Northwestern Mutual, and I love design systems. They are always the hotness. That T-Rex always gets me every time. Who doesn't love a T-Rex, right? And design systems are like herding kittens. Always fun. A lot of moving parts. And I think design systems are like a carnival. And what do I mean by that? So, when I visited Venice last fall, I was fascinated by the masks. I love their beauty. And their variety. And they were everywhere in Venice. Everywhere you look. In the shops. The souvenirs. And I even made my own mask. And I learned that masks have a rich history of providing access and helping a person to blend in to hide their gender, their identity, their social class.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Accessibility at Discord
React Advanced Conference 2021React Advanced Conference 2021
22 min
Accessibility at Discord
This Talk discusses the accessibility efforts at Discord, focusing on keyboard navigation and the challenges faced with implementing focus rings and outlines. The speaker showcases a unified focus ring system and a saturation slider to address accessibility concerns. They also highlight the implementation of role colors and the use of CSS filters for accessibility improvements. The Talk concludes with insights on runtime accessibility checking and the development of a performant core runtime system for checking accessibility issues.
Configuring Axe Accessibility Tests
TestJS Summit 2021TestJS Summit 2021
30 min
Configuring Axe Accessibility Tests
Top Content
AXe is an accessibility engine for automated web UI testing that runs a set of rules to test for accessibility problems. It can be configured to disable or enable specific rules and run based on tags. Axe provides various options, but axe linter does not support all options. The importance of investing time and resources in accessibility is emphasized, as it benefits not only those with disabilities but improves the web for everyone. Manual testing is also highlighted as a necessary complement to automated tests for addressing accessibility issues.
Nested Interactive Elements: An Nightmare in Accessibility
React Advanced Conference 2023React Advanced Conference 2023
23 min
Nested Interactive Elements: An Nightmare in Accessibility
Watch video: Nested Interactive Elements: An Nightmare in Accessibility
Nested interactive elements can cause accessibility issues on websites, and the speaker shares a personal experience with an accessibility bug involving a list component. Mitigating nested interactive structures involves limiting these patterns during development and restructuring existing elements. The speaker provides recommendations for improving accessibility, such as adjusting role properties and gathering user feedback. The conclusion emphasizes the importance of accessible solutions and encourages sharing resources to build more inclusive experiences.
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Pop-Ups
JSNation 2023JSNation 2023
10 min
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Pop-Ups
The Talk discusses the use of dialogues and popovers in web development. Dialogues can be modal or non-modal and are now accessibility-supported. Popovers are versatile and can be added to any element without JavaScript. They provide suggestions, pickers, teaching UI, list boxes, and action menus. Modal and non-modal dialogues and popovers have different behaviors and dismissal methods. Browser support for these features is expanding, but there are still open questions about positioning, semantics, and other use cases.
a11y and TDD: A Perfect Match
JSNation 2022JSNation 2022
24 min
a11y and TDD: A Perfect Match
This Talk explores the intersection of accessibility and test-driven development (TDD) in software development. TDD is a process that involves writing tests before writing production code, providing a safety net for code changes. The Talk demonstrates how to apply TDD principles to real-life examples, such as filling out a form, and emphasizes the importance of user-centric testing. By using atomic design principles, code can be organized in a clean and easy way. The Talk also discusses the use of labels and test IDs in tests for improved accessibility.
How to do Good Without Doing Anything
React Advanced Conference 2021React Advanced Conference 2021
32 min
How to do Good Without Doing Anything
Accessibility is about making sure everyone can participate on the web, regardless of disability. Automated tools like Lighthouse and React Axe help identify accessibility errors and provide guidance on fixing them. Unit tests validate ARIA attributes and keyboard navigation, while integration and end-to-end tests focus on outcomes and simulate user experiences. Cypress.io is an open-source testing framework with excellent accessibility support. Implementing small changes leads to a deep understanding of web accessibility and bug resilience.

Workshops on related topic

Web Accessibility for Ninjas: A Practical Approach for Creating Accessible Web Applications
React Summit 2023React Summit 2023
109 min
Web Accessibility for Ninjas: A Practical Approach for Creating Accessible Web Applications
Workshop
Asaf Shochet Avida
Eitan Noy
2 authors
In this hands-on workshop, we’ll equip you with the tools and techniques you need to create accessible web applications. We’ll explore the principles of inclusive design and learn how to test our websites using assistive technology to ensure that they work for everyone.
We’ll cover topics such as semantic markup, ARIA roles, accessible forms, and navigation, and then dive into coding exercises where you’ll get to apply what you’ve learned. We’ll use automated testing tools to validate our work and ensure that we meet accessibility standards.
By the end of this workshop, you’ll be equipped with the knowledge and skills to create accessible websites that work for everyone, and you’ll have hands-on experience using the latest techniques and tools for inclusive design and testing. Join us for this awesome coding workshop and become a ninja in web accessibility and inclusive design!
Automated accessibility testing with jest-axe and Lighthouse CI
TestJS Summit 2021TestJS Summit 2021
85 min
Automated accessibility testing with jest-axe and Lighthouse CI
Workshop
Bonnie Schulkin
Bonnie Schulkin
Do your automated tests include a11y checks? This workshop will cover how to get started with jest-axe to detect code-based accessibility violations, and Lighthouse CI to validate the accessibility of fully rendered pages. No amount of automated tests can replace manual accessibility testing, but these checks will make sure that your manual testers aren't doing more work than they need to.
Web Accessibility in JavaScript Apps
React Summit 2022React Summit 2022
161 min
Web Accessibility in JavaScript Apps
Workshop
Sandrina Pereira
Sandrina Pereira
Often we see JavaScript damaging the accessibility of a website. In this workshop, you’ll learn how to avoid common mistakes and how to use JS in your favor to actually enhance the accessibility of your web apps!
In this workshop we’ll explore multiple real-world examples with accessibility no-nos, and you'll learn how to make them work for people using a mouse or a keyboard. You’ll also learn how screen readers are used, and I'll show you that there's no reason to be afraid of using one!
Join me and let me show you how accessibility doesn't limit your solutions or skills. On the contrary, it will make them more inclusive!
By the end, you will:- Understand WCAG principles and how they're organized- Know common cases where JavaScript is essential to accessibility- Create inclusive links, buttons and toggleble elements- Use live regions for errors and loading states- Integrate accessibility into your team workflow right away- Realize that creating accessible websites isn’t as hard as it sounds ;)