mirror of https://github.com/docusealco/docuseal
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.
2.1 KiB
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:
-
Install a Ruby version manager (recommended: rbenv or asdf)
# 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 -
Install dependencies
bundle install yarn install -
Run accessibility tests
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 specsspec/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:
# 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.