Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/guidepup/setup-action

GitHub Action to setup your CI for screen reader test automation.
https://github.com/guidepup/setup-action

Last synced: 8 days ago
JSON representation

GitHub Action to setup your CI for screen reader test automation.

Awesome Lists containing this project

README

        

# Guidepup Setup Action

Guidepup Setup Action uses the MIT license

## [Documentation](https://www.guidepup.dev/docs/guides/automated-environment-setup)

[![MacOS Monetary Support](https://img.shields.io/badge/macos-Monetary-blue.svg?logo=apple)](https://apps.apple.com/us/app/macos-monterey/id1576738294)
[![MacOS Ventura Support](https://img.shields.io/badge/macos-Ventura-blue.svg?logo=apple)](https://apps.apple.com/us/app/macos-ventura/id1638787999)
[![MacOS Sonoma Support](https://img.shields.io/badge/macos-Somona-blue.svg?logo=apple)](https://apps.apple.com/us/app/macos-sonoma/id6450717509)
[![Windows 10 Support](https://img.shields.io/badge/windows-10-blue.svg?logo=windows10)](https://www.microsoft.com/en-gb/software-download/windows10ISO)
[![Windows Server 2019 Support](https://img.shields.io/badge/windows_server-2019-blue.svg?logo=windows)](https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2019)
[![Windows Server 2022 Support](https://img.shields.io/badge/windows_server-2022-blue.svg?logo=windows)](https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2022)

GitHub Action to set up your environment for screen reader automation.

It enables automation for VoiceOver on MacOS and NVDA on Windows using the [`@guidepup/setup`](https://github.com/guidepup/setup/) package.

## Usage

Just add this step to your workflow(s) to enable steps that use screen reader automation in GitHub CI:

```yaml
- name: Setup Environment
uses: guidepup/setup-action
```

### MacOS

#### Recording

If you are encountering errors in CI for MacOS you can pass a `record` option which will output a screen-recording of the setup to a `./recordings/` directory:

```yaml
- name: Setup Environment
uses: guidepup/setup-action
with:
record: true
```

There are also options to change the screen resolution:

```yaml
- name: Setup Environment
uses: guidepup/setup-action
with:
resolutionWidth: "1920"
resolutionHeight: "1080"
```

#### Ignore TCC.db Updates

If updating the TCC.db is not possible (due to SIP) or required you can skip the database update step by passing a `ignoreTccDb` option:

```yaml
- name: Setup Environment
uses: guidepup/setup-action
with:
ignoreTccDb: true
```

> [!NOTE]
> If the necessary permissions have not been granted by other means, using this flag may result in your environment not being set up for reliable screen reader automation.

### Windows

#### NVDA Installation

When running on windows a portable NVDA instance compatible with Guidepup will be installed to a temporary directory by default. The location of this installation directory is stored in the Windows registry under the key `HKCU\Software\Guidepup\Nvda`.

If you want to specify the directory that NVDA is installed to you can pass a `nvdaInstallDir` option:

```yaml
- name: Setup Environment
uses: guidepup/setup-action
with:
nvdaInstallDir:
```

## Supports

- [Guidepup](https://github.com/guidepup/guidepup/)
- [Auto-VO](https://www.npmjs.com/package/@accesslint/auto-vo)
- [VoiceOver.js](https://www.npmjs.com/package/@accesslint/voiceover)
- [web-test-runner-voiceover](https://www.npmjs.com/package/web-test-runner-voiceover)

and more!

## Powerful Tooling

Check out some of the other Guidepup modules:

- [`@guidepup/guidepup`](https://github.com/guidepup/guidepup/) - Reliable automation for your screen reader a11y workflows through JavaScript supporting VoiceOver and NVDA.
- [`@guidepup/playwright`](https://github.com/guidepup/guidepup-playwright/) - Seamless integration of Guidepup with Playwright.
- [`@guidepup/virtual-screen-reader`](https://github.com/guidepup/virtual-screen-reader/) - Reliable unit testing for your screen reader a11y workflows.
- [`@guidepup/jest`](https://github.com/guidepup/jest/) - Jest matchers for reliable unit testing of your screen reader a11y workflows.

## Resources

- [Documentation](https://www.guidepup.dev/docs/guides/automated-environment-setup)
- [Changelog](https://github.com/guidepup/setup-action/releases)
- [MIT License](https://github.com/guidepup/setup-action/blob/main/LICENSE)