Access Report: quietshift.dev (https://quietshift.dev)

Small (up to 10 pages) · 10 pages scanned · Generated 2026-09-16 06:10 UTC · Quiet Shift
Read this first. This report identifies accessibility barriers found by automated and agent-assisted review. It is not a legal opinion. Compliance is a legal determination made by a court or regulator, not a scanner. Automated checks cover roughly a third of WCAG criteria; the agent-assisted checks extend that, but a full manual audit with assistive-technology users remains the standard. Screenshots taken during the scan are kept for 30 days, then deleted; this report is kept for 30 days.

Summary

100 / 100
Moderate 1

1 issue type, 1 instance across 10 pages, plus 2 agent-assisted barriers (below; the score is the automated score only). The score is a weighted barrier count (100 = none found), not a percentage of WCAG and not a legal status.

PageScoreIssue typesInstances
/
Quiet Shift
10000
/review
Repo Review: a security review of your AI-built app · Quiet Shift
10000
/review/sample
Repo Review: qs-fixture-demo
10000
/review/checklist
The Repo Review checklist · Quiet Shift
9811
/tabs
Tabkeeper: a local-first tab and session manager for Chrome · Quiet Shift
10000
/tabs/privacy
Tabkeeper privacy policy · Quiet Shift
10000
/tabs/vs/onetab
Tabkeeper vs OneTab: a local-only OneTab alternative · Quiet Shift
10000
/tabs/vs/session-buddy
Tabkeeper vs Session Buddy: a local-only Session Buddy alternative · Quiet Shift
10000
/tabs/vs/toby
Tabkeeper vs Toby: a local-only Toby alternative · Quiet Shift
10000
/tabs/vs/workona
Tabkeeper vs Workona: a local-only Workona alternative · Quiet Shift
10000

By category

Ordered by how often the category appears in accessibility lawsuits, then by user impact.

CategoryInstances
Page structure and language1

Fix these first

  1. Heading levels should only increase by one Moderate · 1 instance on 1 page · fix effort: hours

Barriers found

Ranked by litigation frequency of the category, then user impact, then instance count. Every item is an automated finding; the evidence shows where it was seen.

Heading levels should only increase by one

ModeratePage structure and language1 instance on 1 pagefix effort: hours per instanceaxe rule heading-order

Ensure the order of headings is semantically correct

WCAG
best practice, not a WCAG criterion
Evidence (up to three)
/review/checklist h3:nth-child(1)
<h3>1. Authorization</h3>
Fix
<!-- one h1, then h2 for sections, h3 inside them; do not skip levels for styling -->
Reference
https://dequeuniversity.com/rules/axe/4.13/heading-order?application=axeAPI

Needs a human look

axe-core could not decide these on its own (usually contrast over images or gradients, or elements it could not see). They are not counted in the score.

RuleCheckElementsPages
color-contrastElements must meet minimum color contrast ratio thresholds11

Agent-assisted checks

Reviewed by the agent-assisted pass reading each page's captured focus order, images, forms, dialogs, motion facts, accessibility tree and screenshot; nothing was clicked or submitted. Model: sonnet. The Tab walk is a client-side keyboard probe: only Tab was pressed, so it shows what is reachable and how focus looks, not whether every control activates.

This site is small, mostly static content with plain text links, and it holds up well in this pass: every link on every page could be reached and used with the keyboard, the focus highlight was visible at each step, and nothing found used motion, images, forms, or pop-up dialogs that needed checking. The one real structural issue is on the free checklist page, where the heading levels skip from the page title straight to '1. Authorization' without a mid-level heading, which can confuse anyone navigating by headings with a screen reader — a quick markup fix. We also noted there is no 'skip to content' link on any page, a minor gap worth adding as the site grows. This pass did not look at the external checkout pages, the extension itself, mobile layout, or anything that only appears after clicking, and it is not a certification of accessibility compliance.

SCCheckResultNotes
2.1.1Keyboard
Every control reachable and usable with Tab, Enter and Space, in a sensible order.
No barrier foundEvery page's focus walk reached 100% of its focusable_candidates (focusable_not_reached: 0 on all 10 pages, matching the 'focusable' count in each scan.json). All controls are plain links; no custom widgets, buttons or inputs were present to test Enter/Space activation.
pages /, /review, /review/sample, /review/checklist, /tabs, /tabs/privacy, /tabs/vs/onetab, /tabs/vs/session-buddy, /tabs/vs/toby, /tabs/vs/workona
2.4.3Focus Order
Focus order follows the visual order, including menus, carousels and dialogs.
No barrier foundOn every page the Tab order matches the top-to-bottom reading order recorded in the accessibility snapshot (header link, then body links in document order, then footer links), including pages with tables and ordered/unordered lists such as the review and checklist pages.
pages /, /review, /review/sample, /review/checklist, /tabs, /tabs/privacy
2.4.7Focus Visible
The focused element is visibly highlighted at every step.
No barrier foundEvery recorded focus-walk step on all 10 pages has focus_indicator: "outline" and visible: true; no page's CSS appears to suppress the native focus outline.
pages /, /review, /review/sample, /review/checklist, /tabs, /tabs/privacy, /tabs/vs/onetab, /tabs/vs/session-buddy, /tabs/vs/toby, /tabs/vs/workona
1.1.1Non-text Content
Alt text describes the image's purpose (a product photo says what the product is, a decorative image says nothing).
Not applicableAll 10 pages report images: 0 and an empty images array; there is no non-text content on this site's captured pages to check alt text against.
pages /, /review, /review/sample, /review/checklist, /tabs, /tabs/privacy, /tabs/vs/onetab, /tabs/vs/session-buddy, /tabs/vs/toby, /tabs/vs/workona
3.3.1Error Identification
Form errors are announced, name the field, and say how to recover.
Not applicableforms: [] and facts.forms = 0 / inputs = 0 on every one of the 10 captured pages; purchasing happens off-site on Gumroad, which this pass did not capture.
pages /, /review, /review/sample, /review/checklist, /tabs, /tabs/privacy, /tabs/vs/onetab, /tabs/vs/session-buddy, /tabs/vs/toby, /tabs/vs/workona
2.1.2No Keyboard Trap
Dialogs and overlays keep focus inside and return it on close; nothing traps the keyboard.
No barrier founddialogs: [] and trap_suspected: null on every page, and every focus walk ends with "focus returned to the document body" after all candidates were reached, so nothing observed trapped focus. No modal or overlay exists anywhere in the capture to test that focus is contained and returned on close.
pages /, /review, /review/sample, /review/checklist, /tabs, /tabs/privacy, /tabs/vs/onetab, /tabs/vs/session-buddy, /tabs/vs/toby, /tabs/vs/workona
2.2.2Pause, Stop, Hide
Moving, blinking or auto-updating content can be paused.
No barrier foundmotion.autoplay_video, autoplay_audio, marquee, animations and infinite_animations are all 0 on every page; there is nothing moving, blinking or auto-updating that would need a pause control.
pages /, /review, /review/sample, /review/checklist, /tabs, /tabs/privacy, /tabs/vs/onetab, /tabs/vs/session-buddy, /tabs/vs/toby, /tabs/vs/workona
1.3.2Meaningful Sequence
A screen reader can complete the main task: find a product, add it to the cart, start checkout.
Barrier foundThe accessibility-tree reading order matches the visual order on every page (confirmed on the home, review and checklist pages), so the main content can be followed in sequence. One structural issue found: /review/checklist jumps from its single H1 straight to H3 for '1. Authorization', skipping H2, which can mislead heading-based screen-reader navigation.
pages /, /review, /review/checklist

Findings from this pass

These are not counted in the score above, which stays the automated score.

A1. Heading level skips from H1 straight to H3 on the checklist page

Moderate1.3.2 Meaningful Sequence (EN 301 549 9.1.3.2)page /review/checklistfix effort: minutesconfidence: high
Evidence
headings: [{"level":1,"text":"The Repo Review checklist"}, {"level":3,"text":"1. Authorization"}, {"level":3,"text":"2. Secrets"}, ...]; scan.json issue "heading-order", example selector h3:nth-child(1), html "<h3>1. Authorization</h3>"
Why it matters
Screen-reader users frequently jump between headings to get a sense of a page's structure. Going from an H1 straight to H3 with no H2 in between hides that these seven items are the page's main sections, and can make them read as sub-points of an unannounced heading.
Fix
Change the seven section headings ('1. Authorization' through '7. Dependencies') from <h3> to <h2>, since they sit directly under the page's only <h1> with nothing at level 2 between them: <h2>1. Authorization</h2>

A2. No skip-to-content link on any of the 10 pages

Minornot tied to one success criterionpage /fix effort: minutesconfidence: high
Evidence
scan.json facts.has_skip_link: false on every page, e.g. page 0 (https://quietshift.dev/): "has_skip_link": false
Why it matters
Keyboard and screen-reader users have to tab past the header before reaching the main content on every page. The cost is small today (one header link), but it is a missing piece of baseline navigation support that would matter more as the header grows.
Fix
Add a visually-hidden-until-focused skip link as the first element inside <body>: <a href="#main" class="skip-link">Skip to content</a>, give the <main> element id="main", and add CSS so .skip-link is off-screen by default and becomes visible on :focus.

Still not covered by this pass:

Suggested order of work

Then: the items that need design or template changes.

  1. Heading levels should only increase by one (1× · hours)

After the fixes, a re-check of the same pages shows what changed; ask at support@quietshift.dev.

What was checked

axe-core rules for WCAG 2.0/2.1/2.2 A and AA plus best practices, on the page as loaded in a desktop viewport after the load event.

Not covered by this report:

Checks a person or the agent-assisted pass does (these are what the paid report adds; the automated pass cannot judge them):

WCAG 2.2 A/AA criteria and EN 301 549 V3.2.1 (2021-03) clauses

"No barrier found" means the automated rules that touch the criterion passed on the scanned pages; it does not mean the criterion is met. Criteria added in WCAG 2.2 have no clause in EN 301 549 V3.2.1 (2021-03).

SCNameLevelEN 301 549How it is checkedResult
1.1.1Non-text ContentA9.1.1.1Agent-assisted (paid report)Not applicable
1.2.1Audio-only and Video-only (Prerecorded)A9.1.2.1Needs a humanNot checked here
1.2.2Captions (Prerecorded)A9.1.2.2AutomatedNo barrier found
1.2.3Audio Description or Media Alternative (Prerecorded)A9.1.2.3Needs a humanNot checked here
1.2.4Captions (Live)AA9.1.2.4Needs a humanNot checked here
1.2.5Audio Description (Prerecorded)AA9.1.2.5Needs a humanNot checked here
1.3.1Info and RelationshipsA9.1.3.1AutomatedNo barrier found
1.3.2Meaningful SequenceA9.1.3.2Agent-assisted (paid report)Barrier found
1.3.3Sensory CharacteristicsA9.1.3.3Needs a humanNot checked here
1.3.4OrientationAA9.1.3.4Needs a humanNot checked here
1.3.5Identify Input PurposeAA9.1.3.5AutomatedNo barrier found
1.4.1Use of ColorA9.1.4.1Needs a humanNot checked here
1.4.2Audio ControlA9.1.4.2AutomatedNo barrier found
1.4.3Contrast (Minimum)AA9.1.4.3AutomatedNo barrier found
1.4.4Resize TextAA9.1.4.4AutomatedNo barrier found
1.4.5Images of TextAA9.1.4.5Needs a humanNot checked here
1.4.10ReflowAA9.1.4.10Needs a humanNot checked here
1.4.11Non-text ContrastAA9.1.4.11Needs a humanNot checked here
1.4.12Text SpacingAA9.1.4.12AutomatedNo barrier found
1.4.13Content on Hover or FocusAA9.1.4.13Needs a humanNot checked here
2.1.1KeyboardA9.2.1.1Agent-assisted (paid report)No barrier found
2.1.2No Keyboard TrapA9.2.1.2Agent-assisted (paid report)No barrier found
2.1.4Character Key ShortcutsA9.2.1.4Needs a humanNot checked here
2.2.1Timing AdjustableA9.2.2.1AutomatedNo barrier found
2.2.2Pause, Stop, HideA9.2.2.2Agent-assisted (paid report)No barrier found
2.3.1Three Flashes or Below ThresholdA9.2.3.1Needs a humanNot checked here
2.4.1Bypass BlocksA9.2.4.1AutomatedNo barrier found
2.4.2Page TitledA9.2.4.2AutomatedNo barrier found
2.4.3Focus OrderA9.2.4.3Agent-assisted (paid report)No barrier found
2.4.4Link Purpose (In Context)A9.2.4.4AutomatedNo barrier found
2.4.5Multiple WaysAA9.2.4.5Needs a humanNot checked here
2.4.6Headings and LabelsAA9.2.4.6Needs a humanNot checked here
2.4.7Focus VisibleAA9.2.4.7Agent-assisted (paid report)No barrier found
2.4.11Focus Not Obscured (Minimum)AAadded in WCAG 2.2; not in EN 301 549 V3.2.1 (2021-03)Needs a humanNot checked here
2.5.1Pointer GesturesA9.2.5.1Needs a humanNot checked here
2.5.2Pointer CancellationA9.2.5.2Needs a humanNot checked here
2.5.3Label in NameA9.2.5.3Needs a humanNot checked here
2.5.4Motion ActuationA9.2.5.4Needs a humanNot checked here
2.5.7Dragging MovementsAAadded in WCAG 2.2; not in EN 301 549 V3.2.1 (2021-03)Needs a humanNot checked here
2.5.8Target Size (Minimum)AAadded in WCAG 2.2; not in EN 301 549 V3.2.1 (2021-03)Needs a humanNot checked here
3.1.1Language of PageA9.3.1.1AutomatedNo barrier found
3.1.2Language of PartsAA9.3.1.2AutomatedNo barrier found
3.2.1On FocusA9.3.2.1Needs a humanNot checked here
3.2.2On InputA9.3.2.2Needs a humanNot checked here
3.2.3Consistent NavigationAA9.3.2.3Needs a humanNot checked here
3.2.4Consistent IdentificationAA9.3.2.4Needs a humanNot checked here
3.2.6Consistent HelpAadded in WCAG 2.2; not in EN 301 549 V3.2.1 (2021-03)Needs a humanNot checked here
3.3.1Error IdentificationA9.3.3.1Agent-assisted (paid report)Not applicable
3.3.2Labels or InstructionsA9.3.3.2AutomatedNo barrier found
3.3.3Error SuggestionAA9.3.3.3Needs a humanNot checked here
3.3.4Error Prevention (Legal, Financial, Data)AA9.3.3.4Needs a humanNot checked here
3.3.7Redundant EntryAadded in WCAG 2.2; not in EN 301 549 V3.2.1 (2021-03)Needs a humanNot checked here
3.3.8Accessible Authentication (Minimum)AAadded in WCAG 2.2; not in EN 301 549 V3.2.1 (2021-03)Needs a humanNot checked here
4.1.1ParsingA9.4.1.1AutomatedNo barrier found
4.1.2Name, Role, ValueA9.4.1.2AutomatedNo barrier found
4.1.3Status MessagesAA9.4.1.3Needs a humanNot checked here

Draft accessibility statement

For the site owner to adapt and publish. Text in [brackets] needs your input. It describes intent and known barriers; it makes no legal claim.

Accessibility statement for https://quietshift.dev
quietshift.dev wants everyone to be able to use this website. We aim to meet the Web Content Accessibility Guidelines (WCAG) 2.2 at level AA, which is also the basis of the European standard EN 301 549.
Known barriers
As of 2026-09-16 we know about the following barriers and are working on them:
- Heading levels should only increase by one (WCAG best practice).
[Add a target date for each fix, or remove the item once it is fixed.]
How this was assessed
This statement is based on a review by Quiet Shift on 2026-09-16 combining automated checks (axe-core) with agent-assisted checks of keyboard use, text alternatives, forms and the main task flow. It is not a full manual audit with assistive-technology users.
Feedback and contact
If you find a barrier on this site, or need any content in another format, contact us at [email address] or [phone]. We aim to reply within [number] working days.
Enforcement
[EU: if you are not satisfied with our reply, you can contact the market surveillance authority for your country under the European Accessibility Act. US: [state applicable process or remove].]
Last updated: 2026-09-16.

Appendix: method and page facts

Engine access-scan 0.1.0, axe-core 4.13.0, renderer 0.1.0. User agent QuietShiftAccessBot/0.1 (+https://quietshift.dev/access; ops@quietshift.dev). Desktop viewport 1280×800, page loaded once, no clicks, no typing, no form submission; robots.txt honoured. 249 rule checks passed in total. Standards: WCAG 2.2, level AA; EN 301 549 V3.2.1 (2021-03).

PageHTTPlangh1img/no altformsmainskip linkScanned
https://quietshift.dev/200en10/001no2026-09-16 02:17 UTC
https://quietshift.dev/review200en10/001no2026-09-16 02:17 UTC
https://quietshift.dev/review/sample200en10/001no2026-09-16 02:17 UTC
https://quietshift.dev/review/checklist200en10/001no2026-09-16 02:17 UTC
https://quietshift.dev/tabs200en10/001no2026-09-16 02:17 UTC
https://quietshift.dev/tabs/privacy200en10/001no2026-09-16 02:17 UTC
https://quietshift.dev/tabs/vs/onetab200en10/001no2026-09-16 02:17 UTC
https://quietshift.dev/tabs/vs/session-buddy200en10/001no2026-09-16 02:17 UTC
https://quietshift.dev/tabs/vs/toby200en10/001no2026-09-16 02:17 UTC
https://quietshift.dev/tabs/vs/workona200en10/001no2026-09-16 02:17 UTC