Skip to content

Releases: asisto/legilo

Legilo 0.4.0

Choose a tag to compare

@asisto asisto released this 02 Oct 07:36

Voice release: better voices, honest behavior when there is no voice, and an opt-in for the browser's online voices. Includes the changes of 0.3.0.

Voices

  • By default read-aloud uses only voices installed on the visitor's device; the text never leaves it.
  • Better automatic choice: quality voices (Natural, Neural, Premium, Enhanced, Siri) first, then the system's default voice, then an exact region match.
  • Voice selector in the panel, stored like the other settings (labels in all 37 languages).
  • New parameter ttscloud=1: read-aloud then prefers the browser's online voices where available (e.g. "Google US English" in Chrome). They usually sound more natural and also cover languages without an installed voice. They are marked as online in the panel, visitors can switch to a local voice at any time. No API key, no server, no costs: the voices come from the browser, which sends the text to its vendor. Without online voices (e.g. Firefox, Safari) the local voices are used.
  • No silent read-aloud anymore: without any usable voice for the page language the read-aloud button is disabled and the panel explains that voices can be added free of charge in the system's speech settings.
  • Read-aloud marking with online voices: Google voices send no word events, so they now speak sentence by sentence and the spoken sentence is marked. Local voices still mark the single word.

JavaScript API

  • Legilo.voices(): voices of the page language, best first (name, lang, online, selected, chosen)
  • Legilo.setVoice(name): choose a voice, null returns to automatic
  • Legilo.values() reports voice and voiceOnline
  • Legilo.features() reports available and cloud for read-aloud; set("tts", ...) and speak() return false without a usable voice
  • legilo:change reports a voice change as key ttsvoice

Fixes

  • Icon detection only by whole class tokens: classes like fancybox-content, favorites or nav-fade were treated as icons, so font size and point-and-read skipped their text.

Configurator and docs

  • "Offer online voices" option with an explanation in all 11 languages
  • API reference: voices, online voices, the no-voice state and a privacy note: https://legilo.eu/api

WordPress

Plugin 0.1.3 attached below (legilo-wordpress.zip): new settings for read-aloud modes and online voices.

Legilo 0.2.0

Choose a tag to compare

@asisto asisto released this 01 Oct 09:37

Page integration release: the widget now tells your page what it does, so sites with their own controls, iframes or audio (e.g. 3D tours) can follow along. Includes the changes of 0.1.1.

Events (new in 0.2.0)

Plain DOM events on document. They stay in the browser, nothing is sent anywhere.

  • legilo:change on every change of a setting: panel, profile, reset, API, the automatic end of "Read page", and once after loading when stored settings were applied. detail: { key, level, states, rate, values, source, profile }. Fires only on real changes, so a handler may call Legilo.set() without causing a loop.
  • legilo:open / legilo:close when the panel opens or closes
  • legilo:speechstart / legilo:speechend when the voice really starts and ends, exactly once per start (e.g. to pause background music)

JavaScript API

  • Legilo.values(): actual values of the active settings (font scale, spacing, font family, dyslexia font URL and @font-face CSS), to carry them over into your own iframes
  • Legilo.isOpen(): panel state
  • Legilo.speak(text, { interrupt }) and Legilo.stopSpeaking() (0.1.1): announce your own texts through the read-aloud engine. Speaks only while the visitor has turned read-aloud on, never uninvited.
  • Legilo.features() lists the offered read-aloud modes as allowed

Widget

  • New parameter tts=both|read|hover: choose which read-aloud modes the button offers (e.g. tts=hover for 3D tours)
  • Font size and "Point & read" now also cover elements with their own text, e.g. a div with a direct text node; icons stay untouched
  • Read-aloud skips hidden text (display:none, visibility:hidden, hidden, aria-hidden="true")
  • Fix: nested elements (e.g. a link inside a paragraph) were scaled twice at larger font sizes
  • Big cursor, reading guide and reading mask also work inside same-origin iframes (0.1.1)
  • With hide=1 a click outside no longer closes the panel, so your own button toggles it reliably (0.1.1)
  • legilo.js is now cached for 1 hour instead of 24 hours; unknown parameters are ignored, so &v=0.2.0 works as a cache buster

Configurator and project page

  • New "Read-aloud modes" option in the configurator (all 11 languages)
  • Developer reference with the new events section: https://legilo.eu/api
  • Refreshed design of the API and legal notice pages (0.1.1)

WordPress

Plugin 0.1.2 attached below (legilo-wordpress.zip): native settings page with an import field for legilo.eu embed codes and the new read-aloud mode setting.

Legilo 0.1.0

Choose a tag to compare

@asisto asisto released this 05 Jul 12:40

First public release.

The honest accessibility widget: a reading aid, not a compliance tool. No widget makes a website conform to WCAG or accessibility laws - conformance lives in your source code. What a widget can honestly do is make reading easier, and that is exactly what Legilo does.

Widget

  • 18 functions and 4 one-click profiles: font size, spacing, fonts (incl. OpenDyslexic), text alignment, contrast, color saturation, blue light filter, color blindness support (daltonization filters), link and focus highlighting, big cursor, reading guide, reading mask, stop animations, hide images, read-aloud with live word highlighting, point-and-read and adjustable speed, page structure list
  • 37 languages with automatic detection, right-to-left layout for Arabic, Hebrew and Persian
  • No tracking, no cookies, no external requests; settings stored only after the visitor actually interacts
  • Accessible non-modal panel (Esc closes, live announcements, 44 px touch targets, print-safe)
  • JavaScript API: open, close, toggle, reset, set, get, features, destroy
  • Theming via CSS ::part() and a css=none expert mode for fully custom designs

Configurator and project page (https://legilo.eu)

  • Configurator in 11 languages with live preview, sortable feature tiles and bidirectional embed code
  • Self-hosted download with the dyslexia font baked in - zero requests to legilo.eu
  • Free website check (Lighthouse accessibility) with a shareable PDF report
  • Developer reference: https://legilo.eu/api

WordPress

Thin wrapper plugin attached below (legilo-wordpress.zip): install, activate, optionally paste your embed code - done.