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.
- 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
- Goto the package (under /packages) that you will be working on & follow the readme file under that package.
- We use yarn for dependencies management. You can install it from here.
yarn install
- 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.
-
Build project
yarn build
- 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
- Run the below command
yarn test
-
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.
-
Goto the package you want to watch for. You can run tests whenever source code is modified in watch mode.
yarn watch:test
- Follow this README to deploy required Azure resources.
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.
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
All contributions are welcome! Please visit our Contributing page.
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.
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.