← All notes
Uncategorized Oct 2026 · 10 min read

Web Design for AI Features That Keyboard Users Can Actually Use

Web Design for accessible AI features, with practical ways to handle keyboard focus, live updates, generated content, and testing beyond the mouse.

Mehrad Mazaheri
Mehrad Mazaheri
Web developer, designer & AI builder in Vancouver, BC
Web Design for AI Features That Keyboard Users Can Actually Use

The quickest way to find a problem with an AI feature is sometimes to put your mouse in a drawer. Open the page, press Tab, and try to complete one ordinary task. Web Design can look beautifully polished in a presentation and still become a confusing obstacle course when an answer appears, a panel expands, or a button quietly changes position.

This matters because AI features rarely sit still. They generate text, ask follow-up questions, introduce new controls, and change the amount of information on the page. Every one of those changes affects someone who navigates by keyboard, uses a screen reader, magnifies the screen, or simply needs a predictable interface.

I think this is one of the most overlooked parts of putting AI on a website. We spend plenty of time discussing the quality of the answer. We spend much less time asking whether someone can comfortably reach it, understand what changed, and continue working.

Web Design Has to Account for What Happens After the Click

A conventional contact form has a fairly understandable rhythm. You move through some fields, submit the form, and get a confirmation. An AI assistant might start with a similar box, but the experience after submission can branch in several directions.

Imagine a furniture website with an assistant that helps customers choose a desk. A visitor types, “I need something narrow enough for a bedroom corner.” The assistant returns three products, adds comparison controls, and offers to ask about measurements.

For a mouse user looking at the whole screen, that might seem straightforward. For someone whose screen reader is still focused on the original input, those new controls may effectively be invisible. The system has finished its work, but the visitor has not received a useful explanation of what happened.

The design problem is not solved by making the response text readable. The sequence needs to make sense too: what changed, where the person is now, and what they can do next.

Start With a Keyboard Journey, Not an Accessibility Badge

I prefer to test a specific task rather than ask whether a feature is “accessible” in the abstract. That word is important, but it can become a checkbox if nobody describes the actual interaction. A task exposes the awkward details.

For the desk assistant, the task might be choosing two desks to compare and opening the delivery information for one of them. Start at the top of the page and use only the keyboard. Watch where focus goes, whether it remains visible, and whether every control has a meaningful name.

Look for the small failures that interrupt the task

A common problem is a clickable suggestion rendered as ordinary text. Another is a product card that contains several unnamed icon buttons. “Button, button, button” is not a useful shopping experience, even when the icons look obvious to someone who can see them.

Then there is the disappearing focus indicator. A developer removes an outline because it looks untidy, and suddenly a keyboard user has no clear way to tell which control is active. Good Website Design should make the current position easy to see without requiring someone to guess.

In the project brief, I would describe a complete, testable sequence: enter a request, submit it, receive a status update, reach the response, choose a product, and return to the conversation. That is more useful than a vague instruction to “support accessibility.”

Do Not Make Every New Word an Announcement

Streaming text creates a particularly awkward accessibility decision. Visually, a response arriving word by word can reassure people that something is happening. Through assistive technology, an overly eager implementation can produce a stream of interruptions.

Imagine trying to listen to a paragraph while the interface repeatedly announces additions to that same paragraph. Depending on the browser, screen reader, and implementation, the result can be repetitive or difficult to follow. Making something technically available is not the same as making it pleasant to consume.

Separate progress from the actual answer

A calmer approach is to provide a short status message while the response is being prepared, then make the completed answer available in a clearly identified area. For a longer operation, occasional meaningful updates can help. Repeating “working” every second usually does not.

This requires care in Web Development because live regions, status messages, and focus behavior interact. A developer should test the actual behavior with assistive technology rather than assume that adding an accessibility attribute guarantees the desired result.

My preference is simple: announce enough to keep the person informed, but do not read the interface over their shoulder. Someone should be able to review an answer at their own pace, return to an earlier paragraph, and decide when to continue.

Keep the Page Stable While the Answer Grows

An AI answer can be two sentences or twenty paragraphs. That uncertainty makes page layout harder, especially when the response pushes useful controls around. A submit button that was near the bottom of the screen can suddenly be far away.

Automatic scrolling can make things worse. It may look helpful to keep dragging the viewport toward the newest text, but someone could be reading an earlier section or using screen magnification. The interface should not keep pulling them away from the place they chose.

This is where Web Design needs a rule about who controls movement. I would normally let the visitor keep control of their reading position and provide a clear way to jump to the latest response. If the interface follows new content automatically, that behavior should stop when the person moves away to read something else.

Do not confuse visual movement with keyboard focus

Scrolling an answer into view does not necessarily move keyboard focus to it. Moving focus, on the other hand, can interrupt someone who is still editing a question. These are different actions, and they deserve separate decisions.

For a simple assistant, keeping focus in the input after submission may be reasonable, provided the response is announced appropriately and easy to reach. For a workflow that opens a dialog, moving focus into that dialog is usually necessary. The right behavior depends on what the interface actually does, not on a universal rule that every AI response needs focus.

Let AI Generate Content, Not Unrestricted Interface Structure

One tempting shortcut is to let a model produce an entire block of interface content and display whatever comes back. That gives the system plenty of freedom. It also gives it plenty of opportunities to create inconsistent headings, vague links, and controls that do not match the rest of the site.

I would rather give the model a narrower job. Let it supply a summary, product identifiers, comparison facts, or suggested questions within a validated structure. Let the website render those values through components whose behavior is already understood and tested.

That boundary makes AI Development more manageable. A product comparison can use a predictable heading structure and consistent controls, even if the products and explanations change. The model does not need to reinvent a card layout every time someone asks about a desk.

There is a security benefit too, although accessibility is reason enough to do it. Generated output should be treated as untrusted input, validated, and rendered safely. Fluent text should never get a free pass into the page structure.

Make Suggestions Work Without Requiring Perfect Wording

AI interfaces often present a blank text box as if everyone finds an empty box inviting. Some people do. Others are left wondering what the system understands, how much they need to type, or whether they have asked the question correctly.

A few specific suggestions can reduce that uncertainty. For the furniture example, “Find desks under 100 cm wide” is more useful than “Discover your perfect workspace.” The first describes a task; the second sounds like advertising.

Accessible Web Design also means those suggestions need to behave like real controls. Their labels should explain the action, their keyboard order should make sense, and activating one should have a predictable result. If it fills the input rather than immediately sending a request, make that distinction clear.

I like offering a structured route alongside free text when the task supports it. A width field and a budget selector may be easier than composing a sentence. Web AI does not have to turn every interaction into a conversation to be useful.

Respect the Person Who Needs More Time

Some interfaces quietly assume that everyone reads quickly, understands the first response, and is ready for the next step. AI can amplify that assumption by generating a large answer and immediately presenting more suggestions. The page becomes busy before the person has finished the original task.

Keep earlier questions and answers available in a clear order. Avoid automatically collapsing the response someone was reading just because a new response arrives. If there is a session limit or a timeout, explain it and provide an accessible way to extend the session where possible.

Language matters here as well. A response with a short answer first and supporting detail afterward gives people options. That is often more useful than producing a long paragraph and relying on a separate “simplify” command to make it manageable.

Test With Real Combinations, Not Just a Checklist

Automated accessibility checks are valuable, but they cannot tell you whether an AI conversation is understandable. They may identify missing labels or some structural problems. They will not reliably tell you that the assistant interrupts every sentence or that a comparison task requires an exhausting amount of navigation.

A sensible testing plan combines automated checks, keyboard testing, screen reader testing, zoom and reflow checks, and research with disabled participants. Be explicit about which browser and assistive technology combinations you tested. Passing one setup is useful evidence, not proof that every setup behaves the same way.

I would also test unusually short and unusually long responses. Check what happens when there are no recommendations, one recommendation, or six. Web Design decisions that look solid with tidy sample content often fall apart when real output changes the shape of the page.

Write down the expected behavior

Acceptance criteria should describe observable outcomes. After submitting a question, the visitor receives a clear progress indication without losing their place. When the response is ready, they can reach it and its actions in a logical order.

That kind of description gives designers, developers, and testers something concrete to discuss. It also helps catch regressions when a new model, component, or streaming behavior is introduced later.

A Useful AI Feature Should Feel Calm

The AI experiences I find most convincing are not the ones with the most animated activity. They are the ones where I always know what is happening and can take the next step without fighting the page. There is room for personality, but predictability has to come first.

Before adding another clever capability, try the existing feature with the mouse out of reach. Ask a question, read the answer, change a detail, and follow one recommendation. If that ordinary journey feels awkward, improving it will probably do more for the website than adding another impressive demo.

Want help with this on your own site?
Book a free consult →
[ Discussion ]

0 Comments

No comments yet - share your thoughts below.

Leave a comment

Your email will not be published.

©2026 Mehrad Mazaheri · Web developer, designer & AI builder in Vancouver, BC
Home About Services Portfolio Blog Contact LinkedIn
Two project slots open for Fall 2026. Free 30-minute consult, no obligation.
Call Book now →