Code Monkey home page Code Monkey logo

accessibility-insights-service's Introduction

Accessibility Insights Service

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.

Building the code

1. Clone the repository

  • Clone the repository using one of the following commands
    git clone https://github.com/Microsoft/accessibility-insights-service.git
  • Select the created directory
    cd accessibility-insights-service

2. Install package specific dependencies

  • Goto the package (under /packages) that you will be working on & follow the readme file under that package.

3. Install packages

  • We use yarn for dependencies management. You can install it from here.
    yarn install

4. 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.

5. Build from command line

  • Build project

       yarn build

6. Commands to run before check in

  • Run the below command to build, test, check file format styling & tslint issues
    yarn precheckin
  • If the above command failed for formatting issues, run the below command to format all files
    yarn format

Testing

1. Run Unit tests from command line

  • Run the below command
          yarn test

2. Run current test file from Visual Studio Code

  • Execute "Debug current unit test file" launch task. This build the project & deploys azure function locally. You can do this by either of the below two options -

    • Press F5. (Make sure the correct launch task is selected from the drop down that appears).
    • Or Press Ctrl+P and then type "debug" followed by space ' '. And then select "Debug current unit test file" from the list that appears.

3. 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 Azure resources on your test subscription.

  2. Create .env plain text file under package root folder with environment variables set required for the package to run. For instance, refer to the batch task schedule url-scan-schedule.template.json template configuration for a list of common environment settings. There is a pre-built template file that can be used as well. The .env file format:

          VARIABLE_NAME=VARIABLE_VALUE
  3. Run the Bash script create-sp-for-key-vault.sh from here to create a debug service principal entity. Copy script output to .env file as per script instruction. Note: The script can be run multiple times that result the same service principal entity but with password reset.

  4. Run the TypeScript compiler tsc for the selected package.

  5. Debug selected package using Visual Studio Code selecting respective debug configuration. For instance, select Start debugging runner (runner) configuration to debug runner package.

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.

accessibility-insights-service's People

Contributors

devaradhanm avatar lamaks avatar manishsat avatar haonliu avatar dependabot-preview[bot] avatar pownkel avatar ahmedabdoortiga avatar flyingundertheradar avatar mslonli avatar microsoftopensource avatar dbjorge avatar msftgits avatar dependabot[bot] avatar lisli1 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.