You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
docuseal/spec/accessibility/SETUP_NOTES.md

87 lines
2.1 KiB

# Accessibility Testing Setup Notes
## Gem Installation Required
The `axe-core-rspec` gem has been added to the Gemfile but requires installation.
### Prerequisites
This project requires **Ruby 4.0.1** (as specified in Gemfile).
Currently, the system Ruby is 2.6.10, which is incompatible. You'll need to:
1. **Install a Ruby version manager** (recommended: rbenv or asdf)
```bash
# Using rbenv
brew install rbenv ruby-build
rbenv install 4.0.1
rbenv local 4.0.1
# Or using asdf
brew install asdf
asdf plugin add ruby
asdf install ruby 4.0.1
asdf local ruby 4.0.1
```
2. **Install dependencies**
```bash
bundle install
yarn install
```
3. **Run accessibility tests**
```bash
bundle exec rspec spec/accessibility/
```
## What's Been Set Up
**Added to Gemfile (test group):**
- `axe-core-rspec` - Automated WCAG 2.2 validation
**Created directory structure:**
- `spec/accessibility/` - Test files for a11y specs
- `spec/support/` - Helper modules
**Created accessibility helpers:**
- `spec/support/accessibility_helpers.rb` - Custom test helpers for WCAG validation
- Methods for checking landmarks, labels, keyboard access, modals, etc.
**Created documentation:**
- `spec/accessibility/README.md` - Comprehensive testing guide
- Covers running tests, manual testing, WCAG criteria, and resources
## Using axe-core-rspec
Once the gem is installed, you can use it in your tests:
```ruby
# spec/accessibility/wcag_compliance_spec.rb
RSpec.describe 'WCAG Compliance', type: :system do
it 'passes axe audit on home page' do
visit root_path
expect(page).to be_axe_clean
end
it 'passes WCAG 2.2 AA on submissions page' do
visit submissions_path
expect(page).to be_axe_clean.according_to(:wcag2aa, :wcag22aa)
end
it 'passes specific tag checks' do
visit template_path
expect(page).to be_axe_clean
.excluding('.legacy-component')
.according_to(:wcag2aa)
end
end
```
## Next Steps
After bundle install completes, the testing infrastructure will be fully operational and ready for Phase 1 fixes.