An R interface to the 'WebAIM' 'WAVE' accessibility evaluation API < https://wave.webaim.org/api/>. This package provides tools for analyzing web pages for accessibility issues, generating reports, and comparing accessibility across multiple websites.
waetr is an R package that provides a comprehensive interface to the WAVE (Web Accessibility Evaluation) API. It enables automated accessibility testing of web pages with support for batch processing, detailed reporting, and data visualization.
# Install devtools if you haven't already
install.packages("devtools")
# Install waetr from GitHub
devtools::install_github("benjaminlistyg/waetr")
library(waetr)
# Analyze a single URL
result <- wave(
key = "your_api_key",
url = "https://example.com"
)
# View summary statistics
print(result$statistics)
# Analyze multiple URLs
urls <- c(
"https://example.com",
"https://example.org",
"https://example.net"
)
# Generate comprehensive report
report <- create_accessibility_report(
input = urls,
api_key = "your_api_key",
output_dir = "accessibility_report"
)
# Compare accessibility categories
compare_accessibility(
input = urls,
api_key = "your_api_key",
plot_type = "category_counts"
)
# View detailed issues
compare_accessibility(
input = urls,
api_key = "your_api_key",
plot_type = "issues"
)
# Compare structural elements
compare_accessibility(
input = urls,
api_key = "your_api_key",
plot_type = "structure"
)
wave(): Core function for making WAVE API requestscompare_accessibility(): Generate accessibility comparisons across websitescreate_accessibility_report(): Create comprehensive accessibility reportscategory_counts: Compare main accessibility categoriesissues: Detailed breakdown of errors and alertsstructure: Compare structural elementsThe create_accessibility_report() function generates:
The WAVE API uses a credit system:
Monitor your credit usage with:
check_wave_credits("your_api_key")
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
Steps to contribute:
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)# Run all tests
devtools::test()
# Run specific test file
devtools::test(filter = "wave")
This project is licensed under the MIT License - see the LICENSE file for details.
For questions and feedback:
If you use waetr in your research, please cite it as:
Ross, B.V., & Listyg, B. (2024). waetr: R Package for Web Accessibility Evaluation Testing.
GitHub repository: https://github.com/benjaminlistyg/waetr