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.
-
Complete deployment of Azure resources on your test subscription.
-
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 scheduleurl-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
-
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. -
Run the TypeScript compiler
tsc
for the selected package. -
Debug selected package using Visual Studio Code selecting respective debug configuration. For instance, select
Start debugging runner (runner)
configuration to debugrunner
package.
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.