Accessibility in JavaScript Applications
Learn the necessary techniques and tools for building inclusive web applications with JavaScript from Marcy Sutton.
Presented at Frontend Masters! You can view the videos that go along with the workshop material in the Accessibility in JavaScript Application course.
Some key takeaways:
- Understand how to incorporate accessibility into your web development workflow.
- Debug your sites and applications for accessibility using the latest tools.
- Apply accessibility to React web applications with Gatsby, while learning how accessibility applies to other stacks.
- Learn the benefits of manual and automated testing to grow web accessibility superpowers!
- Integrate focus management into your web applications, gracefully handling keyboard and screen reader interactions.
- Practice announcing view changes with your code and keeping screen reader users up to date.
- Achieve wins with semantic markup, unobtrusive animation, and progressive enhancement.
App URL: https://marcysutton.github.io/js-a11y-workshop
Workshop slides: https://marcysutton.github.io/js-a11y-workshop/slides/
This project was started with gatsby-starter-mdx-basic and @mdx-deck/theme.
Note: This repo requires Node 12 and npm to be installed.
- Create a new Gatsby site and slide deck using this starter
git clone https://github.com/marcysutton/js-a11y-workshop
- Go into the directory, install dependencies, and start the development server
cd js-a11y-workshop
npm install
npm start
View in a browser: http://localhost:8000
-
Edit files:
- Site pages:
src/pages/*
- Site components:
src/components/*
- Templates:
src/templates/*
- Slide content:
src/slides/index.mdx
- Site pages:
-
To look at the answers from the exercises, check out the
/examples
directory in themaster
branch
You can also check out the solutions
branch to see everything in action: https://github.com/marcysutton/js-a11y-workshop/tree/solutions
Prerequisites
- Have a text editor installed, i.e. VSCode
- Have the Gatsby CLI (gatsby-cli) installed globally by running
npm install -g gatsby-cli
- Use Node 12 (nvm or n will help you maintain Node versions)
Troubleshooting
If you run into errors on the install, check your Node version for version 12. Sharp in particular likes to complain a lot.
To get Gatsby to install after errors, try deleting files and doing another reinstall:
rm -rf node_modules && rm package-lock.json
npm install
If you still run into problems, let me know by opening an issue and including details on any errors, Node version, platform, etc.