Coder Social home page Coder Social logo

rraavi / sa11y Goto Github PK

View Code? Open in Web Editor NEW

This project forked from salesforce/sa11y

0.0 0.0 0.0 5.07 MB

Salesforce Automated Accessibility Testing Libraries

Home Page: https://www.npmjs.com/org/sa11y

License: BSD 3-Clause "New" or "Revised" License

Shell 0.16% JavaScript 11.96% TypeScript 86.49% HTML 1.39%

sa11y's Introduction

Salesforce Accessibility Automation Libraries

Automated Accessibility Testing Libraries and Tools (@sa11y packages) based on axe-core providing support for Jest unit tests, WebdriverIO component/integration tests used by teams in Salesforce. However, they are not specific to Salesforce and can be used to test any UI supported by axe-core for accessibility. These libraries are designed to be flexible, customizable and reusable to support automated accessibility testing in different testing workflows from unit to integration tests.

Sa11y Code Coverage semantic-release License NPM downloads per month of @sa11y/common package Known Vulnerabilities OpenSSF Scorecard

Docs

References

Packages

This repo contains the following packages for automated accessibility testing:

published npm version of @sa11y/jest node-current (scoped)

  • Provides a toBeAccessible() accessibility matcher for Jest
  • Provides an option to set up the sa11y API to be invoked automatically at the end of each test
  • To add accessibility testing to your Jest tests use this package

Screenshot showing Sa11y Jest API usage and a11y errors showing up in VSCode

published npm version of @sa11y/wdio node-current (scoped)

  • Provides assertAccessible(), assertAccessibleSync() APIs that can be used with WebdriverIO to check accessibility of web pages rendered in browsers

Screenshot showing a11y errors from a test using Sa11y WDIO in a terminal

published npm version of @sa11y/assert node-current (scoped)

  • Checks DOM or HTML Element for accessibility issues and throws an error if a11y issues are found
  • To add accessibility testing to your Javascript unit tests not using Jest, use this package

published npm version of @sa11y/format node-current (scoped)

  • Formats raw JSON output of a11y issues from axe into an easy to consume format by consolidating and cross-referencing
  • Used by assert Accessible API and Jest a11y matcher
  • To use axe directly and want to format the results from axe.run use this package
  • A new formatter groupViolationResultsProcessor also made available to group the a11y violations per jest test case as the existing formatter would generate test failures for each violation

published npm version of @sa11y/preset-rules node-current (scoped)

  • Provides Base, Extended, Full accessibility preset rules as axe configuration
  • The Base preset rule is used by default in the Jest a11y matcher and assert Accessible APIs
    • The APIs can be overridden to use the Extended or Full ruleset as necessary

published npm version of @sa11y/browser-lib node-current (scoped)

  • Provides a minified version of selected @sa11y libraries to be injected into a browser (using webdriver) and executed from integration testing workflows.

Internal packages

  • Private package providing test utilities for @sa11y packages
  • Private package providing integration tests for @sa11y packages
  • Common utilities, constants, error messages for @sa11y packages

Dependency graph

Dependency graph of sa11y packages


Epilogue

A wise person once said…

"Don't talk to me until I've had coffee and you've run axe"

Embroidery that says "Don't talk to me until I've had coffee and you've run axe" in a hoop

(Image courtesy: @shleewhite, @jorycunningham)

sa11y's People

Contributors

renovate[bot] avatar jasonschroeder-sfdc avatar navateja-alagam avatar dependabot[bot] avatar andyhaskell avatar cordeliadillon avatar jorycunningham avatar nolanlawson avatar rickschmoo avatar semantic-release-bot avatar svc-scm avatar vaibhav-varshney avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.