Accessible CI/CD

Rate this content
Bookmark

CI/CD has been essential for any productive web product development and release. However, while accessibility is always an important aspect for any Web product included UI, it is often overlooked or considered as a time-consuming manual step, outside of the CI/CD flow. How can we automate accessibility testing within our CI/CD for better developer experience and team collaboration? What tools can we use to integrate and leverage accessibility compliance in our CI/CD? Join my talk and let's find out.

FAQ

Web accessibility ensures that all users, including those with disabilities, can perceive, understand, navigate, and interact with the web. It involves making web applications accessible to everyone, regardless of their hearing, movement, sight, or cognitive ability.

WCAG (Web Content Accessibility Guidelines) compliance levels include Level A (minimum level of compliance), Level AA (addresses the biggest barriers for disabled users), and Level AAA (the highest and most complex level of web accessibility).

Yes, parts of accessibility testing can be automated, particularly component tests such as checking labels, color contrast, and semantic HTML usage. However, user experience flows and more complex interactions often require manual testing.

xCore is an open-source JavaScript library developed by Deque for accessibility testing. It can be integrated into browsers like Google Chrome and Edge and supports various testing frameworks, helping developers ensure their web applications meet accessibility standards.

Accessibility testing can be integrated at various stages of a CI/CD pipeline, including during code standards evaluation, unit testing, and smoke testing. Tools like xCore and frameworks like Playwright facilitate including accessibility tests in automated CI/CD workflows.

While automated tests can catch many accessibility issues, manual testing is crucial for understanding the user experience of those with disabilities. It involves real user interactions and checks for more nuanced accessibility barriers that automated tools may miss.

Maya Shavin
Maya Shavin
24 min
15 Feb, 2024

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Maya Min, a senior software engineer at Microsoft Industry AI, discusses the importance of accessibility testing and its relation to CIDI. WCAG provides guidelines for accessibility compliance, covering various aspects such as color contrast, navigation, and content layout. Maya explores automating accessibility testing through UI components and different testing levels. They recommend xCore and Playwright for end-to-end browser testing and integrating accessibility testing into CI/CD workflows using tools like GitLab and Azure Pipeline.

Available in Español: CI/CD accesible

1. Introduction to Accessibility

Short description:

Hi everyone. Welcome to my talk on accessibility in a different context at CIDI. I'm Maya Min, a senior software engineer at Microsoft Industry AI. I've been in the industry for over 10 years, focusing on web development and frontend. I recently released a book called Learning View with Aurelie, which teaches frontend development using Vue and TypeScript. Let's discuss why accessibility testing is important and how it relates to CIDI. Accessibility ensures that users can perceive and interact with web applications. WCAG provides guidelines for accessibility compliance.

Hi everyone. Welcome to my talk and let's discuss accessibility in a different context here at CIDI, shall we?

Okay. But first and foremost, a bit about myself. My name is Maya Min. I'm a senior software engineer at Microsoft Industry AI. Our group is focusing on leveraging different LM technologies to develop AI-integrated solutions and applications for industry specific. I've been in the industry for more than 10 years, focusing on the web and the front end. And lately, I just released a book called Learning View with Aurelie, which this book will teach you and guide you how to develop web applications using view as a front end framework in the context of TypeScript. And if you're interested in learning a new awesome framework, check it out. I'm also a Cloudinary ambassador, Google developer expert, and also an organizer of the View.js Israel community. You can follow me on Maya Chavin in LinkedIn or Twitter or follow my blog posts at mayachavin.com. And that's enough for myself.

Let's go on to our first question. We know about accessibility. We know what accessibility is important, but why accessibility testing and why it has to put in the context of CIDI. Okay. First and foremost, try to click on this button. You can, right? Because this button, even though it looks like a real button, it has the text click here to continue. It's not a real button. It's just an image. And this is exactly what we talked about when we mentioned accessibility. The button is not accessible. No one can use it. It means we have an accessibility issue. So here comes the definition of web accessibility. So web accessibility or accessibility is how you see, how a user can hear, and how a user can perceive your application so that they can understand, or at least come up to some understanding how to use, navigate, or interact with your web applications. This is the full flow that's similar to user experience in a lot of sense. And when I say accessibility, I usually say it's user experience because it's including accessibility inside. And but based on this, it's very hard to decide what is the compliance level for accessibility. This includes a lot of things here, listening, viewing, or understanding, right? So for that, there's a group that WCAG come up with a very, it's a standard guideline of compliance for accessibility.

2. WCAG Compliance Standards

Short description:

WCAG provides guidelines for accessibility compliance. It includes color contrast, navigation, focus, landmark, content layout, zoom levels, understandable content, form handling, media, typography, and link behavior. These are essential, but there are other factors to consider depending on the complexity of your application.

They've been working very hard and it's become an industrial standard for enterprise and public domain to follow and to reflect on. So the normal level for WCAG, acceptable level for WCAG, accessibility compliance for enterprise and public domain is the version 2.1 level EE and above. So there's 3 level AA and AAA. But there's a lot of things mentioned in their website, and you may feel a bit overwhelmed when you go to the website because it's including a lot of explanation. It's very detailed explanations. So in this talk, I will just summarize the most common compliance standard and check that we need to follow. Color contrast, navigation, focus, landmark, content layout, 200% for 400%. You may think that 200% and 400% is not that common. In fact, it's very common because it included how the users zoom in and zoom out your website on a small device machine, like a small screen laptop. And 200% and 400% can define the maximum level the user can zoom in for your applications and make sure that your content stays consistently and usable even when users zoom in in that such case. Understandable content, form handling, media, typography, external internal link behavior. If you have an external link, which means the user will be redirected to a new page, open a new tab, you need to somehow inform the user that this is going to be navigating to a new website and the user won't be taken as surprised. Tab order and many more. Yes, many more. These are just an essential set of things to follow. And there's other things depending on how complex your application would be.

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
Why is CI so Damn Slow?
DevOps.js Conf 2022DevOps.js Conf 2022
27 min
Why is CI so Damn Slow?
We've all asked ourselves this while waiting an eternity for our CI job to finish. Slow CI not only wrecks developer productivity breaking our focus, it costs money in cloud computing fees, and wastes enormous amounts of electricity. Let’s take a dive into why this is the case and how we can solve it with better, faster tools.
End the Pain: Rethinking CI for Large Monorepos
DevOps.js Conf 2024DevOps.js Conf 2024
25 min
End the Pain: Rethinking CI for Large Monorepos
Scaling large codebases, especially monorepos, can be a nightmare on Continuous Integration (CI) systems. The current landscape of CI tools leans towards being machine-oriented, low-level, and demanding in terms of maintenance. What's worse, they're often disassociated from the developer's actual needs and workflow.Why is CI a stumbling block? Because current CI systems are jacks-of-all-trades, with no specific understanding of your codebase. They can't take advantage of the context they operate in to offer optimizations.In this talk, we'll explore the future of CI, designed specifically for large codebases and monorepos. Imagine a CI system that understands the structure of your workspace, dynamically parallelizes tasks across machines using historical data, and does all of this with a minimal, high-level configuration. Let's rethink CI, making it smarter, more efficient, and aligned with developer needs.
Atomic Deployment for JS Hipsters
DevOps.js Conf 2024DevOps.js Conf 2024
25 min
Atomic Deployment for JS Hipsters
Deploying an app is all but an easy process. You will encounter a lot of glitches and pain points to solve to have it working properly. The worst is: that now that you can deploy your app in production, how can't you also deploy all branches in the project to get access to live previews? And be able to do a fast-revert on-demand?Fortunately, the classic DevOps toolkit has all you need to achieve it without compromising your mental health. By expertly mixing Git, Unix tools, and API calls, and orchestrating all of them with JavaScript, you'll master the secret of safe atomic deployments.No more need to rely on commercial services: become the perfect tool master and netlifize your app right at home!
How to Build CI/CD Pipelines for a Microservices Application
DevOps.js Conf 2021DevOps.js Conf 2021
33 min
How to Build CI/CD Pipelines for a Microservices Application
Top Content
Microservices present many advantages for running modern software, but they also bring new challenges for both Deployment and Operational tasks. This session will discuss advantages and challenges of microservices and review the best practices of developing a microservice-based architecture.We will discuss how container orchestration using Kubernetes or Red Hat OpenShift can help us and bring it all together with an example of Continuous Integration and Continuous Delivery (CI/CD) pipelines on top of OpenShift.
Configuring Axe Accessibility Tests
TestJS Summit 2021TestJS Summit 2021
30 min
Configuring Axe Accessibility Tests
Top Content
Axe-core is a popular accessibility testing engine that is used Google, Microsoft, and hundreds of other companies to ensure that their websites are accessible. Axe-core can even integrate into many popular testing frameworks, tools, and IDEs. In this advanced session, we'll be learning how to configure axe and its integrations to fine tune how it runs and checks your pages and code for accessibility violations.

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 ;)
Bring Code Quality and Security to your CI/CD pipeline
DevOps.js Conf 2022DevOps.js Conf 2022
76 min
Bring Code Quality and Security to your CI/CD pipeline
WorkshopFree
Elena Vilchik
Elena Vilchik
In this workshop we will go through all the aspects and stages when integrating your project into Code Quality and Security Ecosystem. We will take a simple web-application as a starting point and create a CI pipeline triggering code quality monitoring for it. We will do a full development cycle starting from coding in the IDE and opening a Pull Request and I will show you how you can control the quality at those stages. At the end of the workshop you will be ready to enable such integration for your own projects.