mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-07-26 03:18:30 -05:00
BaseButton renders a bare button and does not enforce a name, so icon-only usages without aria-label are announced as just "button" — the a11y audit found this pattern regenerating across the codebase (42 current instances, including the TipTap bubble menu where v-tooltip provides no accessible name). The new vikunja/icon-button-accessible-name rule flags icon-only BaseButton/XButton usages that have no aria-label, aria-labelledby, title, visible text, or sr-only text; unknown child components are assumed to render text to avoid false positives. Set to 'warn' until the existing instances get aria-labels, then raise to 'error'. Claude-Session: https://claude.ai/code/session_018prq5WqRL38EGhPNQKqZUP
Web frontend for Vikunja
The todo app to organize your life.
This is the web frontend for Vikunja, written in Vue.js.
Take a look at our roadmap (hosted on Vikunja!) for a list of things we're currently working on!
For general information about the project, refer to the top-level readme of this repo.
Project setup
pnpm install
Development
Define backend server
You can develop the web front end against any accessible backend, including the demo at https://try.vikunja.io
In order to do so, you need to set the DEV_PROXY env variable. The recommended way to do so is to:
- Copy
.env.local.exampleas.env.local - Uncomment the
DEV_PROXYline - Set the backend url you want to use
In the end, it should look like DEV_PROXY=https://try.vikunja.io if you work against the online demo backend.
Start dev server (compiles and hot-reloads)
pnpm run dev
Compiles and minifies for production
pnpm run build
Lints and fixes files
pnpm run lint
License
This project is licensed under the AGPL-3.0-or-later license. See the LICENSE file for details.