When reporting an issue, in order to help the maintainers understand what the problem is, please make your description of the issue as detailed as possible:
- if it is a bug, please provide clear explanation of what happens, what should happen, and how to reproduce the issue, ideally by providing a minimal program exhibiting the problem
- if it is a feature request, please provide a clear argumentation about why you believe this feature should be supported by AccessKit
When making a code contribution to AccessKit, before opening your pull request please make sure that:
- your patch builds with AccessKit's minimal supported Rust version (currently Rust 1.75)
- you added tests where applicable
- you tested your modifications on all impacted platforms (see below)
- you updated any relevant documentation
- you left comments in your code explaining any part that is not straightforward, so that the maintainers and future contributors don't have to guess what your code is supposed to do
AccessKit intentionally includes the Cargo.lock
file in the git repository.
You should not run cargo update
when creating a pull request even when adding or changing a dependency.
Simply building the library will update the Cargo.lock
file with the minimal changes needed.
Remember to commit these changes as part of your pull request.
Our CHANGELOG.md
files are auto generated using Release Please and should not be edited manually.
To control how your work will be described in the changelog, use Conventional Commits when writing the title of your pull request. If you think one line is not enough, mention it in your pull request so that maintainers can update the description of the merge commit.
We have platform-specific tests that do not run when doing cargo test
from the project root directory.
- Run cross-platform tests:
cargo test
- Run platform-specific tests by issuing the appropriate command for your platform:
cargo test -p accesskit_macos cargo test -p accesskit_unix cargo test -p accesskit_windows
Warning
Windows: Some end-to-end tests may fail if the created window loses focus. This can happen when using the terminal built into your IDE. Try running them from Powershell or the Command Prompt instead.