Lexicon v0.10.0
v0.10.0 — Typography, Theme Presets, & Accessibility Additions
Quick Downloads:
- 🪟 Windows x64 Setup: Standard installer for modern 64-bit Windows PCs (Intel / AMD).
- 🍏 macOS Apple Silicon DMG: For modern Apple Silicon Macs (M1, M2, M3, M4 chips).
- 🐧 Linux x64 DEB: Debian package (
.deb) for 64-bit Linux distributions (Ubuntu, Debian, Mint, Pop!_OS). - 📦 View All Assets & Checksums: Complete list of installers including ARM64 Windows, x86 Windows, Intel macOS, and Linux x64 DEB.
What's New in v0.10.0:
-
Typography Preset Catalog: Switch between 4 curated font pairings in real time:
-
Default: System sans-serif body with serif headings (
Newsreader/Georgia). - Editorial: Newsreader serif body and headings for classic literary writing.
- Modern: Inter sans-serif body and headings for clean contemporary prose.
- Monospace: JetBrains Mono body and headings for technical drafting.
-
Default: System sans-serif body with serif headings (
-
100% Local Bundled Fonts:
- Bundled
Newsreader.woff2,Inter.woff2,JetBrainsMono.woff2, andOpenDyslexic.woff2locally undersrc/assets/fonts/. - Removed all external Google Fonts API network calls (
fonts.googleapis.com/fonts.gstatic.com). All custom typefaces render 100% offline with zero external network connections or IP telemetry.
- Bundled
-
Bundled LanguageTool Engine (Out-of-the-Box Offline Proofreading):
- The exact
LanguageTool-6.8Java engine is now pre-bundled directly into the application sidecar bundle (lt/). - Fresh installs on Windows, macOS, and Linux run grammar proofreading 100% offline from second zero without triggering background downloads.
- The exact
-
Paper Texture Backgrounds: Customize the reading and writing canvas with 5 pre-tuned paper surface pairs:
-
Plain White (Default): Crisp
#FFFFFFpage with#F7F6F3surround. -
Warm Cream: Warm
#FEFBF0page with#F3EEE0surround. -
Linen: Textured
#F5EFE0page with#E2DACDsurround. -
Newsprint: Newspaper-style
#F2F3F1page with#E2E4E0surround. -
Dark Slate: Low-glare
#242424dark theme with#1B1B1Bsurround and inverted light ink. - Includes subtle procedural grain overlays and soft edge drop-shadows.
-
Plain White (Default): Crisp
-
Reading Modes (Bionic & OpenDyslexic):
-
Bionic Reading: Non-destructive ProseMirror decoration plugin (
.lex-bionic-prefix) that bolds the leading prefix (~50%) of every word. Code blocks, LaTeX math formulas, and inline code are automatically skipped. Document content and marks remain 100% byte-identical so undo/redo, saving, and grammar highlight offsets are completely untouched. -
OpenDyslexic: Bundled local
OpenDyslexic-Regular.woff2andOpenDyslexic-Bold.woff2fonts (Bitstream Vera license). Swaps the entire writing canvas (headings included) to OpenDyslexic while keeping code blocks monospaced.
-
Bionic Reading: Non-destructive ProseMirror decoration plugin (
-
Appearance Settings Panel & Rollback Access:
- Dedicated Appearance controls in Settings modal with dropdown selectors for Typography Preset, Paper Texture, and Reading Mode.
- Added expandable Previous Releases & Rollback section under Settings → About & Feedback, which dynamically fetches past releases directly from the GitHub Releases API so users can view release notes or download previous installer packages if they encounter regressions.
- Full persistence across app reboots via
localStoragewith catalog-validated fallback protections.
-
WCAG AA Contrast & Accessibility Verification:
- Upgraded secondary muted text (
#787774→#5F5E5B) to clear WCAG AA contrast requirements (≥ 4.5:1) across all light paper themes and surround shells (achieving 6.48:1 on white and 4.68:1 on Linen). - Re-lit Dark Slate placeholders (
#8A8780→#9A9791) and checked task-list items to guarantee high-contrast legibility on dark surfaces. - Light-theme placeholder hints and editor content (h6 headings, blockquotes, code comments, empty-draft prompt, pending-math hint) no longer use faded 60% opacity muted (≈ 2.2:1) and now render at full contrast.
- Added automated math-based contrast assertions (
typography.test.js) verifying body ink, muted text, surround shells, and placeholders pass WCAG AA contrast thresholds across all 5 themes.
- Upgraded secondary muted text (
-
Windows High Contrast (Forced-Colors) Support: Under Windows High Contrast or any forced-colors OS theme, the custom paper backgrounds (Dark Slate included) collapse to system colors automatically. The grain overlay and page shadows, which forced-colors does not strip, are removed, and every focus ring switches to the system
Highlightoutline so focus stays visible in High Contrast Black. -
WCAG 2.1 Level A ARIA & Keyboard Navigation Upgrades:
-
Interactive Panel Rails: Converted left and right collapse/expand handles to keyboard-focusable
<button type="button">elements with dynamictabIndexmanagement (tabIndex={0}when collapsed), enabling full keyboard navigation (Tab, Enter, Space) and screen reader announcement. -
Explicit Input Accessibility Labels: Added explicit
aria-labelattributes to 12 placeholder-only inputs acrossEditor.jsx(link URL, math LaTeX),FormatToolbar.jsx(image URL),Settings.jsx,DictionaryPanel.jsx,HistoryPanel.jsx,CustomToolsSettings.jsx, andDocxExportModal.jsx. -
Modal Dialog Semantics & ARIA Landmarks: Configured
role="dialog",aria-modal="true", andaria-labelledbypointing to modal titles directly on the inner window cards of all 11 modals across the application (TemplateGalleryModal,Settings,ExportOptionsModal,DocxExportModal,EpubMetadataModal,UpdateModal,ConfirmModal,OnboardingModal,DictionaryPanel,HistoryPanel,CustomToolsSettings).
-
Interactive Panel Rails: Converted left and right collapse/expand handles to keyboard-focusable
-
WCAG 2.1 Level AA Accessibility Enhancements:
-
Toggle Track Non-Text Contrast (1.4.11): Added a crisp
border border-neutral-300to unchecked toggle switch tracks inToggle.jsxso control boundaries are clearly demarcated against all paper canvas backgrounds ($\ge 3:1$ contrast). -
Non-Color Error Category Indicators (1.4.1): Added visual text decorations to error match types in
index.css(spelling:underline wavy, grammar:underline wavy, style:underline dashed, prose:underline dotted) so colorblind users can visually distinguish error categories without relying on color alone. -
Voice Control & Speech Recognition Label Matching (2.5.3): Matched
aria-labelwith visible text on ReviewPanel's "Accept all X suggestions" button (aria-label={Accept all ${count} suggestions}). -
Identify Input Purpose Attributes (1.3.5): Added
autoComplete="name"andautoComplete="organization"to author and publisher input fields across export modals (DocxExportModal.jsx,EpubMetadataModal.jsx).
-
Toggle Track Non-Text Contrast (1.4.11): Added a crisp
-
Browser-Style Zoom (Accessibility): Full-page zoom is now enabled. Ctrl + Plus / Ctrl + Minus, Ctrl + 0 to reset, Ctrl + mouse wheel, and touchpad pinch gestures all scale the interface exactly like a browser.