---
url: https://lettuceai.app/docs/accessibility
title: "Accessibility — LettuceAI"
description: "Customize sound effects, haptic feedback, voice input, and screen reader support in LettuceAI for a comfortable experience."
---

Menu 

# Accessibility

These settings let you adjust how the app feels and looks, so it is clearer, easier to use, and more comfortable for your needs. Everything here is optional. You can enable only the features you find helpful.

Now called Customization in the app

This page used to be called **Accessibility** in the app and is now named **Customization**. You will find it under **Settings > Customization**. Along with the original accessibility options it now also bundles appearance and look-and-feel controls, including desktop window styling and theme colors.

## Language

At the top of the Customization page you can choose the **app language** used across navigation and settings. This is available on every platform.

## Window Controls (Desktop)

On desktop, LettuceAI uses its own custom title bar instead of the standard operating-system one, which gives the window a clean, rounded look. The **Window Controls** section lets you choose how the minimize, maximize, and close buttons look and where they sit. These options only appear on the desktop app.

You can pick from several title bar designs:

-   **Classic**: flat minimize, maximize, and close buttons.
-   **Traffic Lights**: round colored dots that show their symbols on hover.
-   **Traffic Lights (Dimmed)**: muted dots that take on color when you hover them.
-   **Minimal**: quiet monochrome icons with no backgrounds.
-   **Native**: use the operating system title bar instead of the custom one.

When a custom design is selected, you can also adjust:

-   **Position**: whether the window buttons sit on the left or the right.
-   **Size**: scale the window buttons small, medium, or large.
-   **Rounded corners** (Linux only): round the window edges, off, small, medium, or large. The window squares off when maximized.

Window Controls are desktop-only and do not appear in the mobile app.

## Sound Feedback

Sound feedback plays short audio cues for common actions in the app. Each sound can be enabled or disabled individually, and you can control its volume. By default, all sounds start switched off.

-   **Send:** plays when you send a message  
    Default: disabled, 50% volume
-   **Success:** plays when the assistant finishes replying  
    Default: disabled, 60% volume
-   **Failure:** plays when an error occurs or a reply is aborted  
    Default: disabled, 60% volume

You can preview each sound using the **Test** button beside it.

Sounds only play if they are enabled, and they always use the volume level you set for that specific event.

## Haptic Feedback

On supported devices, you can enable haptic feedback to receive a small vibration during chat activity. This can make it easier to feel when a message is being generated or completed.

-   **Haptics:** global on/off toggle  
    Default: disabled

When haptics are enabled, you can choose the intensity that feels most comfortable:

-   **Light:** gentle vibration (default)
-   **Medium:** slightly stronger feedback
-   **Heavy:** strong, clearly noticeable vibration
-   **Soft:** subtle, rounded vibration effect
-   **Rigid:** sharp, crisp vibration effect

Haptics never play continuously. They are brief, intentional signals designed to assist awareness without being distracting.

## ARIA Labels

LettuceAI includes ARIA (Accessible Rich Internet Applications) labels throughout the app to improve compatibility with screen readers and other assistive technologies. This helps users with visual impairments navigate and interact with the interface more easily.

ARIA labels provide descriptive information about buttons, inputs, and other interactive elements, ensuring that their purpose is clear even without visual cues. ARIA labels are not visible to users but visible to Screen Readers.

If a UI element is missing an ARIA label or has an incorrect one, please report it from our Discord server or from Github so we can improve accessibility for everyone.

## Voice Input (Speech Recognition)

LettuceAI includes an on-device speech-to-text system powered by Whisper. You can dictate messages instead of typing, which can help if typing is difficult or if you prefer hands-free input.

-   Whisper models are downloaded and run locally. Audio never leaves your device for recognition.
-   A custom vocabulary and correction library lets you teach the system names, terms, and recurring mistakes so transcripts stay accurate.
-   Voice examples can be saved to fine-tune corrections for your voice and accent.

Voice input is configured under **Settings → Speech Recognition**.

## Chat Appearance

The Chat Appearance page controls how messages look in the chat view. Most options have both a global default and a per-character override so you can tune one character without affecting the others.

-   **Font size**: small, medium, large, or extra large.
-   **Bubble style**: filled, bordered, or minimal.
-   **Bubble radius**: sharp, default, or pill.
-   **Bubble max width**: compact, default, or wide.
-   **Bubble padding**: compact, default, or spacious.
-   **Bubble opacity**: 0 to 100 percent for the message background.
-   **Bubble blur**: off, light, medium, or heavy backdrop blur for translucent bubbles.
-   **User and assistant colors**: pick an accent token (accent, info, etc.) or a custom color per side. The app computes accessible text contrast automatically based on the chosen color and opacity.
-   **Chat input color**: set a custom color for the message input box at the bottom of the chat. As with the bubbles, the app picks readable text automatically so your typing stays legible against the color you choose.
-   **Text colors**: separate colors for plain text, italics, block quotes, inline quotes, and inline code, so formatted roleplay is easy to scan.
-   **Background blur**: applied over the chat background image.
-   **Live preview**: a sample exchange updates as you edit so you can see the result before saving.

Per-character overrides show a reset button next to each field, so you can drop back to the global value without losing your other tweaks.

## Color Customization

The Color Customization page controls the global theme tokens used across the whole app: background, surface, foreground text, muted text, subtle text, accent, and more.

-   **Built-in presets**: a curated set of themes (such as Forest, Ocean, Sand, Rose Pine, Tokyo Night, Catppuccin, Gruvbox, Nord, Dracula, Solarized, One Dark, Ayu) you can apply in one tap.
-   **Per-token color pickers**: override any individual token with a color picker or a hex value. Muted and subtle text colors derive sensible defaults from the colors you set, so you do not have to tune every token by hand.
-   **Settings card opacity**: tunes how translucent the settings surface looks against the background.
-   **Save as preset**: store your current set of colors as a named custom preset you can re-apply later.
-   **Import and export**: presets export as a small JSON payload you can share with other users or back up.

Theme changes apply instantly. If a custom color makes parts of the UI hard to read, use the per-token reset to revert just that color.

## Easter Eggs

Just for fun, the Customization page has a small Easter Eggs section. For example, **Beetroot Rain** drops a few beetroots down the screen when a chat mentions them. It is purely cosmetic and off by default.

[

PreviousImage Generation

](/docs/images)[

NextCharacters

](/docs/characters)
