Skip to content

Controls, defaults and profiles

Remove controls you don't offer, set first-visit defaults, and know what each quick profile turns on.

On this page

Every visitor sees the full panel unless you remove parts of it, and their own choices always win over your defaults.

Remove controls

Set a control to false in features to remove it; a removed setting stays off. Every setting can be removed, plus profiles (the whole profile grid) and readMode. A profile card is hidden when all of its adjustments are removed.

TypeScript
init({
  // A removed setting stays off.
  // "profiles" removes the whole grid, "readMode" the read-mode button.
  features: { hideImages: false, cursor: false, readMode: false },
});

First-visit defaults

initialSettings applies to visitors who have nothing saved. Once they change something, their choice is saved and wins. “Reset all” returns to the page as you authored it, not to these defaults.

TypeScript
init({
  // For visitors with nothing saved. Their own choices win;
  // "Reset all" returns to the page as authored.
  initialSettings: { fontSize: 110 },
});

Quick profiles

Profiles switch on a few adjustments at once. They are not medical tools and don't make a page safe for any condition. Visitors can change every adjustment afterwards, and turning a profile off keeps the ones they changed. The ids are kept for compatibility; the names say what the profiles do.

Quick profiles
ProfileTurns onWatch out for
Motion sensitivityseizureSafeStop animations, low saturationGIFs, canvas, video in cross-origin iframes and animation that scripts draw frame by frame are not stopped
Low visionvisionImpairedText 120%, readable font, high contrastThe contrast filter changes images too
Focus modeadhdFriendlyFocus window, stop animations, low saturationThe window follows the pointer, a tap and keyboard focus
Easy readingcognitiveDisabilityHighlight headings and links, reading line, readable fontOutlines add visual noise on busy pages
Keyboard userkeyboardNavHighlight focus, highlight links–
Quiet mediascreenReaderMute media, highlight focusMedia the visitor starts or unmutes keeps its sound
Comfortable readingolderAdultsText 120%, line spacing 130%, readable font, large cursorThe large cursor replaces the system cursor size

What wins

From lowest to highest priority:

  • Your site's styles: what every visitor gets by default.
  • Operating system and browser settings (prefers-reduced-motion, forced-colors, zoom, default font size): the widget never overrides them and never switches anything on because of them. In forced-colors mode its color filters are off.
  • initialSettings: your defaults for first-time visitors.
  • The visitor's saved choices: always win once made.

Edit this page on GitHub