Qiksy Legato · Documentation
Everything this browser does that Chrome does not
Every feature, what it is for, and the key that runs it. Written against the shipping browser: if something here disagrees with the product, this page is the bug.
You can read it straight through in about fifteen minutes, or jump to a section from the list above.
What Legato is
A normal web browser with a repair layer between the page and your screen reader.
Legato is built on Chromium, the same engine as Chrome and Edge. Sites work the same, your logins work the same, video and audio work the same. What is different is what happens in the moment between a page finishing loading and your reader starting to speak.
In that moment Legato looks at how the page was built. Buttons that were never given a name get one. Images with no description get described. Text that a developer made large but never marked as a heading becomes a heading, so your reader can jump by headings the way it should. The page is repaired on your computer, before you hear it.
That is the whole design. An overlay that reads pages to you replaces the tool you already know with a worse one. Legato does the opposite: it leaves your reader in charge and fixes what your reader is given.
The short version of the difference
| Legato | Chrome | |
|---|---|---|
| A page with unnamed buttons | Names them before your reader speaks | Reads “button, button, button” |
| A page with no headings | Adds headings so you can jump by them | No headings to jump by |
| A cookie wall over the page | Names it, and one key dismisses it with the refusing button | You hunt for the close control yourself |
| “What does this form want?” | Answers in one sentence | No such question exists |
| Zoom | Enlarges the whole browser, toolbar included | Enlarges the page only |
| Someone reading over your shoulder | One key blacks out the tab, page keeps working | Nothing |
Repairing pages
What Legato fixes on a page, and how you know it did.
Repair runs by itself after a page loads. You do not press anything. The free rules run on your computer, offline, and cost nothing.
What gets repaired
- Unnamed controls. A button, link or field that a developer left without a name gets one, taken from what is actually on it.
- Images with no description. Meaningful images get described; decorative ones are marked as decorative so your reader stops announcing them at all.
- Missing headings. On a page with no heading markup, large text becomes a real heading, with the level chosen by its size. If the page already has proper headings, this rule stays silent and touches nothing.
- Form fields. A field with a visible label but no programmatic link to it gets linked. A date field is told to announce its format.
- Form errors. A field the site rejected is marked as invalid and tied to its own error message — not to the first error on the page.
- Catalogues and pricing tables built out of plain boxes. Rows and columns are worked out from the actual positions on screen, so “fifth item, second row, second column” becomes something your reader can say.
- Run-on text. Words glued together by the markup get the space the page forgot, so your reader stops reading two words as one.
Windows that sit on top of the page
Cookie banners, newsletter pop-ups and consent modals are the single most common reason a page cannot be used with a reader: they trap the focus and they hide the scroll. Legato names the window and its buttons once, and Shift+Cmd+K (Shift+Ctrl+K on Windows and Linux) dismisses it.
Knowing whether a page was repaired
There is a state for every page, and it is a real state, not a decoration: not looked at, looked at and already fine, repaired, with the number of fixes, or could not finish. Press Cmd+Shift+. (Ctrl+Shift+. ) at any time and the current page tells you which one it is, in one sentence.
You can also ask for a repair by hand with Shift+Cmd+R — useful after a page has rebuilt itself, which shopping and booking sites do constantly.
Check-every-page mode
Off by default. Turn it on in settings and Legato inspects the markup of every page first and only repairs the ones that are actually broken. A well-built site is then left completely untouched — and you hear that it was checked and found fine, which is different from hearing nothing.
Asking the page questions
Your reader answers “what is written here”. These answer “what am I looking at”.
A reader is a faithful narrator: it tells you what is on the page in the order it appears. That is exactly what you want when you are reading, and exactly what you do not want when you have just arrived on a page of four hundred elements and need to know whether you are in the right place.
| Press | And you get |
|---|---|
| Shift+Cmd+O | The page at a glance: how many sections, links, forms and images it has. The shape of it, before you commit to reading it. Works offline. |
| Shift+Cmd+I | A description of the image under your cursor, including images the site never described. |
| Shift+Cmd+F | What this form wants of you, in one sentence — before you start filling it in, not after it rejects you. |
| Shift+Cmd+C | The table or the grid, read as a table: which row, which column, which header a cell belongs to. |
| Shift+Cmd+E | The page again, in plain words — for terms-and-conditions prose and government forms. |
Things the page does that nobody announced
Pages change under you without saying so. Legato watches for the three changes that matter and says them:
- A feed loaded more. “Twenty more added.” Announced at most once every four seconds, so an infinite feed does not turn into a monologue.
- A countdown is running. Ticket sites and banks hold your session for a few minutes and then drop it. Legato tells you when it notices the timer, and again when a minute is left. A clock that merely displays the time is not treated as a countdown.
- The site went quiet after you did something. You pressed submit, the page answered, and the site never announced its own answer. Legato reads it out. This is the only thing Legato says without being asked, and the rule is deliberately narrow: only straight after an action of yours, and only when the site did not announce it itself.
Getting things done on a page
Reaching the thing you came for — and doing the same journey again next month.
Name a place, then go back to it
Sites rename things, move them and redesign around them. Shift+Cmd+N pins your own word to a place on a site: “call this the send button”. The name is yours, it is stored per site, and it does not alter the page in any way.
Shift+Cmd+J then takes you there — by your name for it, or by any wording actually on the page. If there is no such thing, you get a refusal and a list of what is nearby, instead of being dropped somewhere and left to work it out.
If the site has changed so much that your name no longer points anywhere, Legato says so explicitly. A stale label that quietly does nothing is worse than no label.
Two verbs, two behaviours, and the line between them never moves: Shift+Cmd+J takes you to something. Shift+Cmd+A presses it.
Record a journey and repeat it
Renewing a permit, paying the same bill, booking the same appointment — the same fifteen steps through the same badly built pages, every time.
- 1Shift+Cmd+M starts recording. Do the journey once, normally.
- 2Shift+Cmd+M again stops it, and you give the route a name.
- 3Shift+Cmd+U replays it. Legato walks the steps and stops where you are needed — at a payment button, at a field only you can fill. Press Shift+Cmd+U again to carry on from there.
Forms
Shift+Cmd+Y, before you send: what is still empty and what the site has already refused, in one sentence, with the focus moved to the first thing that needs you. Fields that are fine are not mentioned — a complaint list that includes the things you got right is a list you have to read twice.
Where you stopped reading
Shift+Cmd+P takes you back to where you were. The anchor is the text you were on, not a position on the page, so it survives a reload and survives the site rearranging itself. Legato offers to take you there; it does not jump on its own.
“Prove you are human”
Shift+Cmd+X finds the check, names which kind it is, and moves you to its audio alternative. Legato does not try to solve captchas and will not pretend to. What it removes is the part that was actually impossible: finding the thing at all.
What the browser says, and when
A tool for a screen reader has to be careful about talking. Here is every rule.
Legato speaks through your reader, in the page’s own live region — the place your reading cursor already is. This matters for JAWS in particular: an announcement made in the browser’s toolbar instead of the page is an announcement JAWS users never hear.
- One event, one sentence. Never two announcements for one thing that happened.
- “Analysing” is silent. You are told when there is a result, not when work starts.
- Numbers, not adjectives. “Repaired: 3” rather than “page repaired”.
- Ask any time. Cmd+Shift+. reports the state of the current page on demand. Everything else stays quiet until you ask.
Sounds instead of sentences
Three short tones, each under a third of a second: work finished, nothing found, something needs you. They play over your reader rather than interrupting it, which is the point — you learn that a page is done while your reader is still reading the previous one.
Volume is adjustable in settings, from very quiet to prominent, because a hearing aid and a hearing loss need opposite settings and one factory number serves neither. There is a list of every sound with a button to play each one, so you can learn them before you meet them.
Your own call sign
A short signature of a few notes that Legato attaches to its finished-work sound. In a shared room or an open-plan office, it is how you know the sound was yours and not the machine next to you. Legato suggests options built from your name; you can pick another or turn it off.
Dictation
The search field takes dictation from your system (Cmd+Shift+V on macOS). It stops on its own when you stop talking, and it works out your speaking rhythm rather than counting to a fixed number of seconds — someone who speaks slowly gets a wide pause window from the first word, not after the third failure. Then it reads back what it heard before searching.
Privacy at your desk
The screen you cannot see is still a screen everyone else can read.
A monitor showing your bank balance is useless to you and perfectly legible to whoever is standing behind you. And people who use a screen reader share a computer with a sighted helper far more often than most users do.
Shift+Cmd+S blacks out the current tab. The page keeps working, your reader keeps reading it, and the picture goes dark. The address bar and tabs stay visible, so anyone helping you can still see where you are — and so a person with some remaining sight can find the control to turn it off again.
Why not just use your reader’s screen curtain
You may already know it: VoiceOver has one on Control-Option-Shift-S, and NVDA has had one on NVDA+Ctrl+Escape since version 2024.1. Both black out the entire monitor — notifications, other windows, everything.
That is stronger, and sometimes it is exactly right. But it also blinds the sighted person sitting next to you, who is there precisely to help. Legato blacks out one tab: the one with your bank or your medical records goes dark, and they can still help you with everything else on the machine.
Where your pages go
The repair rules and the built-in model run on your computer. Ordinary browsing is repaired without anything leaving the machine.
Three features do use our cloud, because they need a large model: describing an image, explaining a page in plain words, and reading a form. Those send the relevant fragment of the page and nothing else, only when you press the key for them, and never on their own.
The everyday browser, rebuilt for a reader
Things Chrome also has — done differently because of who is using them.
| In Legato | In Chrome | |
|---|---|---|
| Zoom | Cmd+Plus enlarges the whole browser — tabs, address bar, settings, all of it | Enlarges the page. The address bar you opened it with stays small |
| Find on page | Cmd+F and F3, because JAWS takes Cmd+F for itself. Says “12 matches”, then “3 of 12” | Cmd+F only |
| Downloads | Every step is a spoken sentence: downloading, saved as this name in this folder, did not finish. No dialog opens, so nothing steals your focus | A silent bar; the file lands with no announcement |
| The browser menu | Opens as a card in your theme and at your zoom, with a search box over all forty items across six sections | A system menu at system size; you memorise where things are |
| Moving between panes | F6 moves between the page and the browser’s own controls, in both directions | Several presses of F6 through panes nobody named |
| Pinned sites | Named by what the site calls itself, not by its address — a reader saying “rozetka dot com dot ua” letter by letter helps nobody | Favicons, which are not readable at all |
| Themes | Four: modern or classic, each light or dark, plus twenty-four accent colours, and the accent applies to scrollbars too | Light, dark, and a theme gallery aimed at decoration |
The ordinary things are ordinary
Tabs, pinning, reopening a closed tab, bookmarks, history, back and forward, printing, private downloads folder, full-screen video, picture-in-picture, screen sharing, sign-in keys — all present, all on the shortcuts you already know from Chrome. Nothing was reinvented for the sake of being different.
Chrome extensions install and run. Sign-in keys — passkeys — work, and are off until you turn them on, so nothing changes for sites until you decide it should.
Your reader, your system
Legato works with the reader you already have. It is not an alternative to it, and it does not need to be told which one you use.
| Reader | System | Notes |
|---|---|---|
| NVDA | Windows | Recommended. NVDA follows the markup strictly, so a repair to the markup is a repair you hear. |
| JAWS | Windows | Works. JAWS also guesses at broken pages on its own, so on some pages you will notice the difference less. |
| VoiceOver | macOS | Recommended, for the same reason as NVDA. |
| Orca | Linux | Works. |
| A braille display | Any | Through your reader, as usual — repairs reach braille the same way they reach speech. |
Systems
Windows, macOS and Linux. Android is planned. On iPhone and iPad, Apple does not allow a browser to bring its own engine, so what can exist there is a Safari extension rather than Legato itself — an honest difference rather than a coming-soon.
Moving in from Chrome
One button brings across your bookmarks, your history, your open tabs and your site icons. Your history matters more than it sounds: it is what makes the address bar suggest the right site from three letters on the first day, instead of after a month of rebuilding it.
Legato keeps its own history from then on, so “take me back to where I was ten minutes ago” works from the first session.
Moving to another computer
Settings, bookmarks, your place names and your saved routes can be written to one file and read back on the other machine — or carried across with a short code. Your names and routes are the part it would genuinely hurt to rebuild, which is why they travel.
The first run
A short walkthrough that you can leave at any point with Escape, and which never starts again on its own. Basic repairs work immediately, with no key and no account.
Every shortcut
Cmd on macOS, Ctrl on Windows and Linux, unless a row says otherwise.
Reading and understanding a page
| Keys | What it does |
|---|---|
| Shift+Cmd+R | Repair this page now |
| Cmd+Shift+. | Report the state of this page |
| Shift+Cmd+O | The page at a glance |
| Shift+Cmd+I | Describe this image |
| Shift+Cmd+F | What this form wants |
| Shift+Cmd+C | Read the table or grid |
| Shift+Cmd+E | Explain in plain words |
| Shift+Cmd+K | Dismiss the window over the page |
Moving and acting
| Keys | What it does |
|---|---|
| Shift+Cmd+J | Go to… (moves the focus, presses nothing) |
| Shift+Cmd+A | Press by voice |
| Shift+Cmd+N | Name this place |
| Shift+Cmd+M | Start or stop recording a route |
| Shift+Cmd+U | Replay a route, or carry on from where it stopped |
| Shift+Cmd+Y | Check the form before sending |
| Shift+Cmd+P | Read on from where I stopped |
| Shift+Cmd+X | Go to the “prove you are human” check |
Privacy and appearance
| Keys | What it does |
|---|---|
| Shift+Cmd+S | Black out the screen for this tab, and back |
| Shift+Cmd+D | Light or dark theme |
| Alt+Cmd+D | Next appearance theme |
| Cmd+Comma | Settings |
The browser itself
| Keys | What it does |
|---|---|
| Cmd+L | Address bar |
| F6 · Shift+F6 | Move between the page and the browser controls |
| Cmd+T · Cmd+W · Shift+Cmd+T | New tab · close tab · reopen the closed one |
| Ctrl+Tab · Cmd+1…9 | Switch tabs |
| Cmd+E | Back to the tab you were just on |
| Cmd+[ · Cmd+] | Back and forward |
| Cmd+F · F3 | Find on page (F3 for JAWS users) |
| Cmd+G · Shift+Cmd+G | Next and previous match |
| Cmd+Shift+B | Bookmarks |
| Alt+Cmd+L · Ctrl+J | Downloads (macOS · Windows and Linux) |
| Cmd+Shift+V | Dictate into the search field (macOS) |
What Legato does not do
The list we would rather you read here than discover later.
- It does not read aloud. No voice of its own, by design. Your reader does the reading.
- It does not solve captchas. It finds them and takes you to the audio alternative. Solving them for you would be both against the site’s rules and unreliable.
- It does not press irreversible buttons. Not by voice, not in a replayed route. Pay, send, confirm and delete are yours.
- It does not consent for you. Cookie walls are dismissed with the refusing option, never the accepting one.
- It has no voice input of its own. It uses your system’s dictation, which is better than anything we could ship and is already set up the way you like it.
- It cannot fix a page that has no content. A site that draws everything as unlabelled images on a canvas has nothing for a repair to work with, and Legato will tell you that rather than pretend.
- It does not play films with copy protection yet. Some paid streaming services will not run.