Skip to content

microsoft/accessibility-insights-service

Product Logo Accessibility Insights Service

Build Status codecov

Accessibility Insights Service is a service that can be used to scan websites for accessibility issues on a periodic basis. It is TypeScript project with shell scripts for install and update scenarios.

This project can be run in an Azure environment and can be set up easily using the install scripts provided.

Prerequisites

  • Git
  • Node.js v16
  • TypeScript
  • Yarn v3
  • Visual Studio Code
  • Docker Desktop
  • Ubuntu, WSL, Git Bash, or similar Linux environment

Building the code

1. Clone the repository

  • Clone the repository

    git clone https://github.com/Microsoft/accessibility-insights-service.git
  • Select the solution directory

    cd accessibility-insights-service

2. Install packages

  • Run yarn to install initial npm packages

    yarn install

3. Working from Visual Studio Code

  • Open workspace.code-workspace from .vscode\ folder under root directory.
  • On opening the workspace, it will suggest you to install the recommended extensions. Install them.

4. Build solution

  • Run yarn to build solution

       yarn build

5. Run before check-in

  • Run the below command to build, test, check file format styling and eslint issues
    yarn precheckin

Testing

1. Run unit tests

  • Run the below command from the command line to execute all unit tests

          yarn test

2. Run test in watch mode

  • Goto the package you want to watch for. You can run tests whenever source code is modified in watch mode.

          yarn watch:test

Deployment

  • Follow this README to deploy required Azure resources.

Debugging

To debug packages locally follow the generic steps below.

  1. Complete deployment of the service in your Azure subscription

  2. Run the following script to get the content of the .env plain text file:

          ./packages/resource-deployment/scripts/create-env-file-for-debug.sh -r <resourceGroupName>
  3. Create the .env plain text file under package root folder to debug it locally

  4. Debug selected package using Visual Studio Code selecting respective debug configuration

Telemetry and Monitoring

During deployment, the Azure dashboard will be created to track service metrics and telemetry data.

  • Documentation for all telemetry events sent can be found here
  • Documentation for the Azure dashboard created upon deployment can be found here

Contributing

All contributions are welcome! Please visit our Contributing page.

Contact us

Please file a Github Issue. We actively monitor PRs and issues.

Alternatively you may also ask questions on stackoverflow.com and tag them with an accessibility-insights tag.

Reporting security vulnerabilities

If you believe you have found a security vulnerability in this project, please follow these steps to report it. For more information on how vulnerabilities are disclosed, see Coordinated Vulnerability Disclosure.