Bump version to 1.1.0 and update README

Add accessibility section documenting WCAG 2.2 AAA compliance,
keyboard navigation, focus management, and theme support. Update
file handling with single-instance and OS association. Fix repo
URLs and version badge.
This commit is contained in:
Your Name
2026-02-19 22:02:21 +02:00
parent 5af64df152
commit ef8a4524b9
4 changed files with 39 additions and 15 deletions

View File

@@ -8,7 +8,7 @@ Built for everyone. Owned by no one. Free as in freedom.
<br>
<img src="https://img.shields.io/badge/version-1.0.0-6B8AFF?style=flat-square&labelColor=282C33" alt="Version">
<img src="https://img.shields.io/badge/version-1.1.0-6B8AFF?style=flat-square&labelColor=282C33" alt="Version">
<img src="https://img.shields.io/badge/platform-Windows-6B8AFF?style=flat-square&labelColor=282C33" alt="Platform">
<img src="https://img.shields.io/badge/Tauri-v2-6B8AFF?style=flat-square&labelColor=282C33" alt="Tauri">
<img src="https://img.shields.io/badge/license-CC0_Public_Domain-6B8AFF?style=flat-square&labelColor=282C33" alt="License">
@@ -19,7 +19,7 @@ Built for everyone. Owned by no one. Free as in freedom.
## 📖 Overview
Vesper renders your markdown with carefully tuned typography and a refined dark interface, giving you the ultimate reading experience. No installation, no AppData, no registry, no telemetry, no accounts, no subscriptions - just drop the exe and go.
Vesper renders your markdown with carefully tuned typography and a refined interface, giving you the ultimate reading experience. Choose between dark and light themes, navigate entirely by keyboard, and enjoy full WCAG 2.2 AAA accessibility. No installation, no AppData, no registry, no telemetry, no accounts, no subscriptions - just drop the exe and go.
Knowledge should be accessible to all. Vesper exists to make reading a pleasure, not a product.
@@ -42,7 +42,7 @@ Full CommonMark support via **markdown-it** with extensions:
| 📄 HTML | Inline HTML passthrough |
| ↵ Breaks | Newlines preserved as line breaks |
**Premium dark-mode typography** tuned for long-form reading:
**Premium typography** tuned for long-form reading:
> - **Inter Variable** at 17px with 1.7 line-height
> - ~65 character measure for optimal readability
@@ -80,9 +80,10 @@ Full CommonMark support via **markdown-it** with extensions:
| Feature | Details |
|:--|:--|
| 🌗 Dark / Light Theme | Toggle in View menu, persisted across sessions |
| 🖥️ Focus Mode | `F11` hides title bar and menu for immersive reading |
| 🔎 Content Zoom | `Ctrl+Scroll` - 50% to 200% |
| ↔️ Content Width | `Shift+Scroll` - 400px to 1200px |
| 🔎 Content Zoom | `Ctrl+Scroll` or View menu spinner - 50% to 200% |
| ↔️ Content Width | `Shift+Scroll` or View menu spinner - 400px to 1200px |
| 🔲 UI Scale | 50%-200% via View menu spinner, persisted across sessions |
| 🏀 Kinetic Scroll | Right-mouse drag with iOS-style rubber band overscroll |
| 📜 Custom Scrollbars | Thin, auto-hiding, accent-colored on hover |
@@ -92,8 +93,9 @@ Full CommonMark support via **markdown-it** with extensions:
### 📂 File Handling
- Open via **File menu**, **`Ctrl+O`**, or **drag-and-drop** from Explorer
- Open via **File menu**, **`Ctrl+O`**, **drag-and-drop**, or **double-click** from Explorer
- Supports `.md` · `.markdown` · `.txt`
- **Single instance** - opening a file when Vesper is already running forwards it to the existing window
- Native Tauri drag-and-drop integration with real file system paths
<br>
@@ -109,6 +111,26 @@ Full CommonMark support via **markdown-it** with extensions:
<br>
## ♿ Accessibility
Vesper targets **WCAG 2.2 AAA** compliance across the entire interface.
| Area | Details |
|:--|:--|
| 🏗️ Semantic HTML | `<header>`, `<nav>`, `<main>`, `<article>`, `<search>` landmarks; proper ARIA roles for menus, tabs, dialogs, and status regions |
| ⌨️ Full Keyboard Navigation | Menu bar, tab bar, sidebar TOC, modals, and context menu all navigable with arrow keys, Home/End, Enter, Escape |
| 🔗 Skip Link | "Skip to content" link as first focusable element for screen reader users |
| 🎯 Focus Management | Visible `:focus-visible` outlines on all interactive elements; focus traps in modals with restore on close |
| 🌗 High Contrast Themes | Dark and light themes both meet AAA contrast ratios (7:1+ for normal text) |
| 🎞️ Reduced Motion | Respects `prefers-reduced-motion` OS setting — all animations disabled when active |
| 📋 Active Heading Tracking | Current section highlighted in sidebar TOC via IntersectionObserver |
| 🔲 Target Sizes | All interactive targets meet 24x24px minimum (WCAG 2.5.8) |
| 📢 Status Messages | Search results counter uses `aria-live="polite"` for screen reader announcements |
| 🎨 Non-Color Indicators | Active tabs marked with a bottom border accent; search highlights include underline in addition to background |
| ↔️ Resizable Sidebar | Keyboard-accessible resize handle (`role="separator"`) with arrow key support |
<br>
## ⌨️ Keyboard Shortcuts
| Shortcut | Action |
@@ -119,7 +141,9 @@ Full CommonMark support via **markdown-it** with extensions:
| `Ctrl+F` | 🔍 Toggle search |
| `Ctrl+Shift+S` | 📋 Toggle sidebar |
| `F11` | 🖥️ Toggle focus mode |
| `Escape` | ← Close search / sidebar |
| `Escape` | ← Close search / sidebar / context menu |
| `Shift+F10` | 📋 Open context menu |
| `Delete` | ✕ Close focused tab (when tab bar is focused) |
| `Ctrl+Scroll` | 🔎 Zoom content in / out |
| `Shift+Scroll` | ↔️ Adjust content width |
@@ -134,7 +158,7 @@ Full CommonMark support via **markdown-it** with extensions:
### Download
Download the latest **`vesper.exe`** from the [Releases](https://github.com/yourusername/vesper/releases) page.
Download the latest **`vesper.exe`** from the [Releases](https://git.lashman.live/lashman/vesper/releases) page.
No installation required - Vesper is fully portable. No gatekeepers between you and your documents.
### Build from Source
@@ -144,7 +168,7 @@ Everyone has the right to inspect, modify, and rebuild the tools they use.
> **Requires:** [Node.js](https://nodejs.org/) v18+ · [Rust](https://www.rust-lang.org/tools/install) stable · [Tauri v2 prerequisites](https://v2.tauri.app/start/prerequisites/)
```bash
git clone https://github.com/yourusername/vesper.git
git clone https://git.lashman.live/lashman/vesper.git
cd vesper
npm install
```
@@ -176,7 +200,7 @@ Built entirely on open-source foundations - no proprietary dependencies, no vend
| 🖼️ | Icons | [Lucide React](https://lucide.dev/) |
| 📜 | Scrollbars | [OverlayScrollbars](https://kingsora.github.io/OverlayScrollbars/) |
**Tauri Plugins:** `dialog` · `fs` · `opener`
**Tauri Plugins:** `dialog` · `fs` · `opener` · `single-instance`
<br>
@@ -204,8 +228,8 @@ data/
|:--|:--|
| 📖 | **Content First** - all UI chrome can be hidden; the reader is the focus |
| 🔤 | **Typography Matters** - Inter at 17px, 1.7 line-height, ~65 char measure |
| 🌙 | **Dark by Default** - deep onyx base `#282C33` reduces eye strain |
| ⌨️ | **Keyboard Driven** - every feature accessible via shortcuts |
| 🌗 | **Dark & Light** - two high-contrast themes, both WCAG AAA compliant |
| ⌨️ | **Keyboard Driven** - every feature accessible via shortcuts and arrow keys |
| ✨ | **Minimalist Chrome** - the interface gets out of your way |
| 🤝 | **No Extraction** - no ads, no tracking, no data harvesting, no paywalls |

View File

@@ -1 +1 @@
{"name":"vesper","private":true,"version":"1.0.1","type":"module","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","tauri":"tauri"},"dependencies":{"@fontsource-variable/inter":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8","@tailwindcss/typography":"^0.5.19","@tailwindcss/vite":"^4.1.18","@tauri-apps/api":"^2","@tauri-apps/plugin-dialog":"^2.6.0","@tauri-apps/plugin-fs":"^2.4.5","@tauri-apps/plugin-opener":"^2","daisyui":"^5.5.18","framer-motion":"^12.34.0","highlight.js":"^11.11.1","lucide-react":"^0.564.0","markdown-it":"^14.1.1","markdown-it-mark":"^4.0.0","markdown-it-sub":"^2.0.0","markdown-it-sup":"^2.0.0","markdown-it-task-lists":"^2.1.1","overlayscrollbars":"^2.14.0","overlayscrollbars-react":"^0.5.6","react":"^19.1.0","react-dom":"^19.1.0","tailwindcss":"^4.1.18"},"devDependencies":{"@tauri-apps/cli":"^2","@types/markdown-it":"^14.1.2","@types/react":"^19.1.8","@types/react-dom":"^19.1.6","@vitejs/plugin-react":"^4.6.0","png-to-ico":"^3.0.1","puppeteer-core":"^24.37.3","sharp":"^0.34.5","typescript":"~5.8.3","vite":"^7.0.4"}}
{"name":"vesper","private":true,"version":"1.1.0","type":"module","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","tauri":"tauri"},"dependencies":{"@fontsource-variable/inter":"^5.2.8","@fontsource-variable/jetbrains-mono":"^5.2.8","@tailwindcss/typography":"^0.5.19","@tailwindcss/vite":"^4.1.18","@tauri-apps/api":"^2","@tauri-apps/plugin-dialog":"^2.6.0","@tauri-apps/plugin-fs":"^2.4.5","@tauri-apps/plugin-opener":"^2","daisyui":"^5.5.18","framer-motion":"^12.34.0","highlight.js":"^11.11.1","lucide-react":"^0.564.0","markdown-it":"^14.1.1","markdown-it-mark":"^4.0.0","markdown-it-sub":"^2.0.0","markdown-it-sup":"^2.0.0","markdown-it-task-lists":"^2.1.1","overlayscrollbars":"^2.14.0","overlayscrollbars-react":"^0.5.6","react":"^19.1.0","react-dom":"^19.1.0","tailwindcss":"^4.1.18"},"devDependencies":{"@tauri-apps/cli":"^2","@types/markdown-it":"^14.1.2","@types/react":"^19.1.8","@types/react-dom":"^19.1.6","@vitejs/plugin-react":"^4.6.0","png-to-ico":"^3.0.1","puppeteer-core":"^24.37.3","sharp":"^0.34.5","typescript":"~5.8.3","vite":"^7.0.4"}}

View File

@@ -1,6 +1,6 @@
[package]
name = "vesper"
version = "1.0.1"
version = "1.1.0"
description = "A beautiful markdown reader"
authors = ["you"]
edition = "2021"

View File

@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Vesper",
"version": "1.0.1",
"version": "1.1.0",
"identifier": "com.vesper.reader",
"build": {
"beforeDevCommand": "npm run dev",