Building Accessible Web Experiences: A Checklist for Frontend Developers

This page summarizes the projects mentioned and recommended in the original post on dev.to

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • pa11y

    Pa11y is your automated accessibility testing pal

  • Pages should have descriptive titles. Make use of tag. Not just for accessibility reasons, its one of the key tools to improve your SEO.

  • iFrames should have descriptive titles. iFrame is basically a page within a page, same rule applies for it too.
  • tag should have lang attribute. It helps screen readers to use correct pronunciation. If parts of your website use different languages, add lang attribute to respective elements as well.
  • Roles: ARIA roles define the type of element and its purpose. Roles can be used to indicate whether an element is a button, link, menu, dialog, or other interactive components. For example, role="button" can be added to a
    element to convey that it functions as a button.
  • Labels. Interactive elements should have accessible name inside aria-label
  • Element semantics should not be inappropriately suppressed with aria-hidden. Avoid hiding elements from accessibility tree; If required, use CSS styles to make element invisible by changing opacity or visibility.
  • Images should have alt attribute. Have you ever been stuck with slow connection and faced a white square wonder what's that supposed to be? Add an alt attribute so the images could be easily identified by text readers.
  • Useful tools

    Going through all those checkpoints might be overwhelming, and indeed, the larger your webpage or application is, the more effort it will take to find and address them.

    There are, luckily excellent tools that can jumpstart the process.

    • WAVE: A free online tool that provides visual feedback about the accessibility of your web content, highlighting potential issues and offering suggestions for improvement.
    • axe DevTools: An accessibility testing extension for Google Chrome and Firefox that can be used directly within the browser's developer tools.
    • Pa11y: An open-source automated accessibility testing tool that you can run from the command line or integrate into your CI/CD pipeline.
    • Lighthouse Accessibility Audit: Excellent for a quick accessibility insight, Lighthouse is available with Google Chrome dev tools and checks highlight opportunities to improve the accessibility of your web app.

    Remember that automated tools are valuable for identifying many common accessibility issues, but manual testing is often necessary to fully understand and address the user experience for people with disabilities. A combination of automated and manual testing, along with a commitment to ongoing accessibility, is key to maintaining an accessible web presence.

    Happy coding!

    Original post

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Creating an Accessible Web for Everyone with Anuradha on Girl Code Coffee Chat #9

    1 project | dev.to | 6 Jul 2023
  • Code optimisation for accessibility

    1 project | /r/GPT3 | 3 Apr 2023
  • Como vocês geram métricas de acessibilidade?

    1 project | /r/brdev | 24 Feb 2023
  • I made an app to help see friends in London more

    1 project | /r/london | 5 Nov 2022
  • Is there a reasonably priced scanning tool?

    1 project | /r/accessibility | 28 Oct 2022