Skip to main content

The LatchKey Widget

Your website.
Their way
to explore.

A more comfortable web starts with choice. Give visitors the tools to read, navigate, and focus in the way that works for them.

7 days free No card required

your-website.comPreview
fieldnotes®The everyday journal
Space for the everyday

Find your own
kind of calm.

Stories, ideas, and small moments worth slowing down for.

Explore the possibilities
Make it yoursAccessibility preferences
Try an adjustment
Your view. Your choice.
A widget that feels like you

A working preview. Your changes stay right here.

11visitor profiles
44individual adjustments
33interface languages
1script to get started

Made for the person on the other side

One website. Many ways to use it.

Small adjustments can make a big difference. Let each visitor shape their experience, with controls that only change the page when they choose.

Make room for easier reading.

Scale text, adjust spacing, switch fonts, or magnify a word. A little more breathing room, wherever it helps.

15 content controls

A different way to see things.

Choose a contrast mode, reduce saturation, or change text and background colours to suit the moment.

11 colour controls

Less distraction. More direction.

Follow a reading guide, pause animation, highlight focus, or use a larger cursor to find your way.

18 orientation controls

A helpful starting point

11 profiles.
Always personal.

Start with a group of adjustments, then fine-tune each one. A profile is a preset; the visitor stays in control.

Open a profile to see what it changes
Seizure Safety

Stops animation and takes the saturation out of the whole page, so strong colour stops carrying risk.

Low Vision Support

Larger text, stronger contrast, looser line height and letter spacing, and a focus ring you can see.

ADHD Friendly

A reading band that follows the pointer, no animation, and links marked so they stop hiding in prose.

Reading & Cognitive Support

A plainer typeface, marked headings and links, a jump list of useful links, and the consistent-help card.

Keyboard Navigation

Quick-nav keys for headings, forms and buttons, a visible focus ring, and tab-order repair from the manifest.

Changes page operation as well as appearance.
Screen Reader Compatibility

Applies the deterministic and inferred name, role and alt fixes, and announces route changes in a single-page app.

Changes page operation as well as appearance.
Older Adults

Bigger text, looser line spacing, a larger pointer, and links given weight rather than colour alone.

Motor Impaired

A larger pointer, highlighted keyboard focus, paused animations and quick navigation between page elements.

Changes page operation as well as appearance.
Blind

A navigable page structure and clear focus. Spoken reading can be started separately using a local device voice.

Changes page operation as well as appearance.
Color Blind

Stronger contrast and visible outlines for links and keyboard focus.

Dyslexia

A readable typeface with increased line height and letter spacing.

A familiar welcome

Their preferences.
Their language.

The interface speaks 33 languages and can match the visitor’s browser. Your website’s content stays in its original language.

At home on a keyboard

Open the panel with Alt + 1. Shortcuts yield inside form fields, so visitors can keep typing uninterrupted.

Preferences stay personal

Visitor choices stay in localStorage in their browser. The widget sets no cookies.

There when it’s wanted

Visitors can hide the widget for 24 hours, or on your site until they choose to restore it.

Your statement, one click away

Link your own accessibility statement or use the one generated for your licence within 48 hours.

Two parts. One widget.

More than a panel.
A clear path to fixes.

Visitors choose their adjustments. Behind the scenes, the engine audits your pages and applies verified runtime fixes, with a record your team can inspect.

Runtime fixIllustrative example
Before<html>
After<html lang="en">
Deterministic

When the page language is known from its metadata.

Also available as a source-code patch
  1. 01

    Discover

    Find pages and group shared templates, within your plan’s page cap.

  2. 02

    Audit

    Check rendered pages with axe-core and our additional rule pack.

  3. 03

    Compile

    Label candidate fixes and flag questions that need a person.

  4. 04

    Verify

    Recheck in a fresh browser. Drop fixes that increase violations.

  5. 05

    Publish

    Deliver a signed manifest and code patches your team can review.

Keep checking as your site changes. Full rescans run every 24 hours. A changed page structure can trigger a re-audit within the hour.

No mystery fixes

Know what changed. And why.

Every fix carries the same label in your report, runtime manifest, and code patch. You can see what changed and what still needs a decision.

Grounded in the markup

Deterministic

A fix follows from known information, such as a missing language attribute or a name copied from an existing visible label.

Proposed from context

Inferred

A model suggests a fix, such as image alt text. The reasoning is attached, and the change is reversible.

Needs a person

Declined

When the evidence is insufficient, nothing is applied. The item stays visible with the question a person needs to answer.

Your existing accessibility work comes first. The engine skips attributes you already set. Fixes that increase automated violations are dropped, and declined items stay declined until a person resolves them.

The whole picture

Clarity you can
put on the record.

See what was addressed, what was partly addressed, and what was left untouched. Your coverage table is built from your own scans and dated with the last verification.

~⅓

Automated coverage ≈ 1/3 of WCAG

Understand the limits
Your coverage, at a glanceSample report
Illustrative data for a fictitious site. This is not a result from a customer scan.
WCAG 2.2 criterionStatusHow it was handled
1.1.1 Non-text contentAddressedDeterministic and inferred
4.1.2 Name, role, valueAddressedDeterministic
2.4.4 Link purposePartly addressedInferred, 3 declined
1.4.3 Contrast (minimum)Partly addressedTheme adjustments only
2.4.6 Headings and labelsNot addressedDeclined: wording is a judgement
1.2.2 Captions (prerecorded)Not addressedOutside what we do

A bridge while you improve the source.

Runtime fixes help in the browser. Lasting fixes belong in your code. Every runtime fix is also available as a patch your developers can merge. The widget does not certify legal compliance.

Read our own statement

A small addition to your stack

Fits your website.
Fits your workflow.

One snippet connects the widget to your site. Use a platform integration or add it directly to your code.

  1. 01

    Add your website

    Register your hostname and get a site key from your portal.

  2. 02

    Connect the widget

    Paste your snippet before the closing body tag or follow a platform guide.

  3. 03

    Make it your own

    Choose the controls you offer, link your statement, and review the first findings.

Your starting pointHTML

Example snippet · replace the site key

<!-- latchkey via manual -->
<script src="https://thelatchkey.in/w/v1/widget.js" data-lk-key="lk_site_XXXXXXXX" async></script>

Use the site-specific snippet from your portal when you go live.

Find your installation guide
Licences, domains, and staging

One licence covers one site, including its www and apex hostnames. Staging and preview hostnames can be added at no extra cost. A subdomain that is a separate site needs its own licence. The public site key only works on registered hostnames.

Version pinning and subresource integrity

We do not put an integrity hash on this URL because we ship security fixes to it. If you need subresource integrity, use a pinned, immutable version URL with its published hash. Update that hash when you upgrade.

Considered from the start

Light on your site.
Clear about your data.

12KB

Gzipped loader budget

Enforced at build time. The panel and remediation module load only when needed.

No cookies

Set by the widget

Preferences stay in the browser. Usage measurement uses a cookie-free beacon.

60 seconds

Kill-switch revalidation

Stand the widget down per site without waiting to remove your snippet.

Start small. Grow from there.

A more open web.
A plan that fits.

Choose a plan for the traffic you have. Start with a 7-day trial, with no card required.

Starter

Up to 5,000 visits a month

$49/ month

or $410 a year · save 30%

One site, the whole widget, and the coverage table that says what it did not do.

Start free trial
Recommended

Team

Up to 30,000 visits a month

$149/ month

or $1,250 a year · save 30%

For a team with more than one site and someone who owns the numbers.

Start free trial

Business

Up to 100,000 visits a month

$399/ month

or $3,350 a year · save 30%

Adds the part automation cannot do: a person testing your core journeys.

Start free trial

Enterprise

Above 100,000 visits a month

Custom

Let’s find the right fit for your team.

Single sign-on, our API, and inference you can run yourself.

Talk to us

Visits are counted by the widget’s beacon. Dodo Payments is the merchant of record.

Compare all plan features

A little more detail

Good questions.
Straight answers.

Still have something on your mind?

Talk to our team

Open the web to more people

Make your next visitor
feel more at home.

Explore the interface, review the fixes, and see the coverage for your own site.

7 days to explore · No card required