Skip to content

A tool to remove accessibility features and degrade SwiftUI components to assist learning and testing.

License

Notifications You must be signed in to change notification settings

Erick2280/luisa-deaccessibilizer

Repository files navigation

Luisa: Leveraging User Interfaces in SwiftUI for Accessibility Training

Build workflow status Tests workflow status Test coverage

Luisa is a tool designed to intentionally remove accessibility features and degrade SwiftUI components, violating WCAG 2.2 guidelines. It helps developers learn how to identify accessibility issues or generate test samples for static accessibility analysis tools.

Luisa code transformation is powered by a set of fault transformation rules. Each rule targets specific code patterns in .swift files and apply a degradation. You can find the source code of each rule, along with the expected behavior and which WCAG success criteria it aims to violate in the src/transforming/rules/ folder or in the respective section at the documentation.

Luisa uses tree-sitter and the tree-sitter-swift grammar to generate a concrete syntax tree of a .swift source code file. Each fault transformation rule contains a query written in the tree-sitter query syntax to match specific code patterns, along with instructions on how to modify them.

Usage

Luisa can be used as a module for either Node.js and web environments (through the use of WebAssembly), or standalone as a CLI tool.

Requirements

Luisa supports macOS and Linux machines. To run it locally, you'll need Node.js LTS and emscripten installed in your machine (to generate tree-sitter .wasm files). If you have homebrew installed, you can install emscripten by running brew install emscripten.

If you're running on macOS with Apple silicon, you should also have Rosetta 2 installed. You can install it by running softwareupdate --install-rosetta in the Terminal.

Links

Acknowledgements

About

A tool to remove accessibility features and degrade SwiftUI components to assist learning and testing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published