Repository navigation
feat: a11y testing setup - #3177
Draft
matthewlipski wants to merge 1 commit into
Draft
matthewlipski wants to merge 1 commit into
matthewlipski wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
|
||
| - name: Upload browser report and diagnostics | ||
| if: ${{ !cancelled() }} | ||
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 |
|
|
||
| - name: Upload VoiceOver report and diagnostics | ||
| if: ${{ !cancelled() }} | ||
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 |
@blocknote/ariakit
@blocknote/code-block
@blocknote/core
@blocknote/diagram-block
@blocknote/mantine
@blocknote/math-block
@blocknote/react
@blocknote/server-util
@blocknote/shadcn
@blocknote/xl-ai
@blocknote/xl-docx-exporter
@blocknote/xl-email-exporter
@blocknote/xl-multi-column
@blocknote/xl-odt-exporter
@blocknote/xl-pdf-exporter
@blocknote/xl-typst-exporter
commit: |
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR shows a vertical slice of the a11y areas we need to test. It's based on the a11y study done earlier. It's recommended to get familiarised with that first. The documents from the study are also temporarily included as Markdown files in the git branch.
The general approach was to colocate a11y test files with the components they test. The tests all require using a browser environment due to one of the following:
Below is a summary of the tested a11y areas. For each type of test:
🟢 Tests are implemented and passing.
🟡 Tests are implemented and passing, but snapshots are at least partially incorrect.
🔴 Tests aren't implemented as the functionality being tested is missing, or are implemented but failing.
Editor Content
These tests are for making sure the editor content is broadly accessible, covering keyboard navigation, focus handling, legibility, and screen reader support.
BlockNoteView.a11y.spec.ts<body>and pressing Tab moves focus to the next interactive element in the page. This works for now but will have to be revisited when fixing the selection handling (see below).<body>, it's not quite what we want as they cannot e.g. press Enter to then refocus the editor.Interactive blocks
These tests are for making sure that for any blocks with interactive elements, e.g. check list items and toggle headings, the interactive elements can be manipulated using the keyboard. Currently, only the check list item has a test file.
block.a11y.spec.tsEditor UI
These tests verify the accessibility of BlockNote's UI elements like menus and toolbars. These cover basically everything a11y related - keyboard navigation, focus handling, legibility, and screen reader support. Currently, only the formatting toolbar is tested, which fortunately has had some a11y improvements already.
FormattingToolbar.a11y.spec.tsRationale
While we have done accessibility work before, it was mainly patching fairly glaring issues like the formatting toolbar being inaccessible via the keyboard. This PR is the start of a longer term commitment to improve a11y, and testing gives us a framework for figuring out where the main issues are and what still needs to be done.
Changes
TODO
Impact
N/A
Testing
See above.
Screenshots/Video
N/A
Checklist
Additional Notes
Broader TODOs: