Intopia's accessibility testing bookmarklets
A bookmarklet is a web browser bookmark with JavaScript commands that add new features. These small JavaScript snippets are stored as a bookmark URL and executed when clicked.
To use them:
- Drag a bookmarklet to your browser's Bookmarks Bar.
- Open the web page you want to inspect.
- Click the bookmarklet.
- Press Esc to remove the overlay.
| Bookmarklet | Test page |
|---|---|
|
Highlights all heading levels (H1–H6) with distinct colours. Flags empty headings and duplicate |
Testing headings |
|
Highlights all images. Distinguishes between meaningful |
Testing images |
|
Highlights all links on the page. Resolves the accessible name from any source (text content, |
Testing links |
|
Highlights native list elements and ARIA list roles with distinct colours per type. |
Reviewing lists |
|
Highlights all landmark regions with distinct colours per role. Shows accessible name where present. |
Reviewing landmarks |
| Bookmarklet | Test page |
|---|---|
|
Highlights the page language defined on the |
|
|
Displays the document title from the |
Testing document title - good example Testing document title - missing example |
|
Displays the character encoding declaration as a fixed banner at the top of the page. Detects both |
Testing character encoding - good example Testing character encoding - missing example Testing character encoding - invalid example |
| Bookmarklet | Test page |
|---|---|
|
Highlight captions and headers Highlights accessibility features within tables. Flags header cells with and without Click to activate, then press 1 through 3 in order to step through |
Testing tables |
|
Highlight table id and headers Highlights the relationship between headers and ids within complex tables. Click to activate, then press TAB or |
Testing complex tables |
|
Highlights ARIA roles relating to tables. Click to activate, then press 1 through 6 in order to step through the role hierarchy from container to cell. Press Note: re-run the bookmarklet after sorting to see updated |
Testing ARIA tables |
| Bookmarklet | Test page |
|---|---|
|
Tracks each focusable element on the page. Click to activate, then TAB through the page. Each element is numbered in order. ESC to stop. |
Testing focus order |
|
Highlights all |
Reviewing different tabindex methods |
| Bookmarklet | Test page |
|---|---|
|
Shows the accessible name of each focusable element and which source it came from. Click to activate, then TAB through the page. One badge at a time, on the element that has focus. Source precedence, highest first: |
Testing accessible names |
|
Highlights all elements with |
Testing aria-label |
|
Highlights elements with |
Reviewing aria-labelledby |
|
Highlights elements with |
Testing aria-describedby |
|
Highlights links and buttons where the visible label and accessible name don’t match. |
Testing name mismatches |
|
Highlight name-prohibited roles Highlights elements with |
Testing name-prohibited roles |
| Bookmarklet | Test page |
|---|---|
|
Highlights form fields and their accessible names. Flags fields with no name, and fields where the name comes from an unreliable source such as |
Testing form labels |
|
Highlights all buttons and their accessible names. Flags buttons with no accessible name. |
Testing buttons |
|
Highlights |
Testing fieldsets |
|
Highlights required form fields. Distinguishes between native |
Testing required fields |
|
Highlights all |
Testing aria-invalid |
|
Highlights |
Testing autocomplete |
| Bookmarklet | Test page |
|---|---|
|
Highlights all |
testing aria-expanded |
|
Highlights all |
Testing aria-checked |
| Bookmarklet | Test page |
|---|---|
|
Highlight aria-roledescription Highlights all elements with |
Testing aria-roledescription |
|
Highlights all elements with |
Testing aria-details |
|
Highlights all elements with |
Testing aria-valuenow |
|
Highlights all elements with |
Testing aria-valuetext |
|
Highlight aria-valuemin and aria-valuemax Highlights all elements with |
Testing aria-valuetext |
|
Highlights all |
Testing aria-pressed |
|
Highlights all elements with |
Testing aria-level |
|
Highlight aria-setsize and aria-posinset Highlights all elements with |
Testing aria-setsize and aria-posinset |
|
Highlights all elements with |
Testing aria-setsize and aria-posinset |
|
Highlights elements with |
Testing aria-controls |
|
Highlights native readonly and aria-readonly for teaching purposes. Native readonly is browser-enforced and automatically announced correctly to AT, no ARIA needed. aria-readonly="true" alone only affects the AT announcement — it does not stop the user typing unless the field is functionally restricted some other way. Flags the redundant and conflicting combinations, and invalid values. | Testing aria-readonly |
|
Highlights open shadow DOM hosts and custom elements. Flags where shadow DOM cannot be confirmed. |
Testing shadow DOM |
| Bookmarklet | Test page |
|---|---|
|
This bookmarklet allows you to check the contrast between two colours by either sampling the colours with an eyedropper or directly inputting values. The checker will automatically calculate the contrast ratio and give a pass or fail status for 3:1, 4.5:1 and 7:1. Created for and works best on Windows/Chrome. Features:
|