mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-05-06 03:27:53 -05:00
a11y is not good #2157
Closed
opened 2026-03-22 13:56:39 -05:00 by GiteaMirror
·
1 comment
No Branch/Tag Specified
main
renovate/dev-dependencies
feat-v2-foundation
dependabot/npm_and_yarn/frontend/axios-1.15.2
spike-huma-openapi3
claude/investigate-swagger3-support-nyyUa
feat-list-view-buckets
ci-mysql-8-test
codex/analyze-codebase-for-email-task-feature
feat-project-templates
csv-import-feature
claude/email-reply-comments-wpdcQ
fix-oidc-pkce-support
fix/overview-subtasks-expand
feat/bucket-select-task-detail
feat-soft-delete-projects
claude/review-bot-design-plan-cf5C3
claude/project-scoped-api-tokens-KTqR3
claude/explore-openclaw-integration-KQEzg
claude/project-scoped-api-tokens-yv5KS
fix-duplicate-close-button
feat-list-view-sorting
feat/official-vite-sentry-plugin
feat/highlight-overdue-tasks
feat/add-enter-key-form-submission-handling
feat/TipTap-nits
feat/update-caldavtimetotimestamp-parsing
feat-phosphor-icons
wip-plans
claude/investigate-issue-2173-llKme
fix-description-text-drag
feat-custom-keyboard-shortcuts
pr-1845-ci
codex/fix-drag-and-drop-behavior-inconsistency
copilot/add-clickable-labels-for-filtering
copilot/fix-issue-1786
playwright-migration
fix-kanban-repeating-wip
copilot/fix-1498
feature/replace-axios
codex/upgrade-to-tailwind-4.1.8-using-pnpm
codex/add-cypress-test-for-avatar-types
feature/biome
feature/oxc
codex/update-flexsearch-to-0.8.205
4r6ni9-codex/fix-deprecated-sass-@import-usage
codex/fix-deprecated-sass-@import-usage
codex/add-cypress-test-for-task-list-refresh-fix
codex/fix-quick-add-magic-not-adding-tasks
codex/fix-all-type-errors
codex/fix-mimetype-for-docs.json
feature/caldav-from-scratch
feature/gh-actions-hetzner
fix-ci
feat/new-logger
jyte-better-dev-config
feat/add-team-member-with-enter
fix/button-and-icon-types
fix/notifications-component-name-collision
feature/null-time
renovate/tailwindcss-4.x
feature/unplugin-vue-router
fix/deprecated-import
feature/zod-schema
renovate/golangci-golangci-lint-1.x
fix/tiptap-editor-reactive-destructuring
release/0.24
feat/improve-add-task
fix/saved-filter-search
feat/webp-and-avif-attachment-previews
feature/migrate-back-to-bulma
fix/sass-add-missing-list-import
feature/sticky-demo-bar
fix/gantt-view-switch
feature/typesense-position-join
feature/focus-visible
dependencies/golangci-lint
feature/better-filter-syntax
fix/tiptap-task-list
renovate/github.com-golang-jwt-jwt-v4-5.x
feature/hide-forbidden-related-tasks
renovate/golang-1.x
release/0.20
release/0.17
release/0.16
release/0.15
release/0.14
v2.3.0
v2.2.2
v2.2.1
v2.2.0
v2.1.0
v2.0.0
v1.1.0
v1.0.0
v1.0.0-rc4
v1.0.0-rc3
v1.0.0-rc2
v1.0.0-rc1
v1.0.0-rc0
v0.24.6
v0.24.5
v0.24.4
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.0
v0.22.1
v0.22.0
0.21.0
v0.21.0
v0.20.4
v0.20.5
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.2
v0.19.1
v0.19.0
vue3
v0.18.1
v0.18.0
v0.17.1
v0.17.0
v0.16.1
v0.16.0
v0.15.1
v0.15.0
v0.14.1
v0.14.0
v0.13.1
v0.13
v0.12
v0.11
v0.10
v0.9
v0.8
v0.7
v0.6
v0.5
v0.4
v0.3
v0.2
v0.1
Labels
Clear labels
area/api
area/attachments
area/auth
area/avatars
area/backup-restore
area/caldav
area/calendar-view
area/comments
area/config
area/database
area/desktop
area/docker
area/email
area/favorites
area/filters
area/frontend
area/gantt
area/i18n
area/import-export
area/internal-code
area/kanban
area/labels
area/list-view
area/mobile
area/notifications
area/permissions
area/projects
area/pwa
area/recurring-tasks
area/reminders
area/search
area/shortcuts
area/subtasks
area/sync
area/table-view
area/task-editor
area/task-metadata
area/task-relations
area/teams
area/theming
area/time-tracking
area/typesense
area/views
area/webhooks
bug
changes requested
concern/accessibility
concern/performance
concern/regression
concern/ux
confirmed
db/mysql
dependencies
enhancement
good first issue
help wanted
integration/inbound
integration/outbound
kind/bug
kind/feature
needs reproduction
pull-request
question
security
support
upstream issue
waiting for reply
wontfix
Mirrored from GitHub Pull Request
No Label
kind/bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/vikunja#2157
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @vikunja-bot on GitHub (Apr 1, 2025).
Original issue by WofWca on 2023-03-25T09:17:00.000Z
Description
I'm not a big expert on accessibility, but one thing I noticed is that keyboard access is pretty bad.
Checkboxes are not focusable, due to
display: none:fe764a46e9/src/components/input/fancycheckbox.vue (L79-L81)Some UI is only shown on hover, but not on focus, so you can't see where your focus is, and can't know that there's even such UI if you're using a keyboard exclusively:
befa6f27bb/src/components/tasks/partials/singleTaskInProject.vue (L364-L374)Many such cases. Search for
:hoveroropacity: 1. Consider adding:focusto:hoverselectors.Some otherwise hidden elements are still focusable
0ff0d8c5b8/src/components/misc/popup.vue (L46-L51)Otherwise poor outline of focused elements. "Search" and "Filters" buttons on the project view, active router links:
befa6f27bb/src/styles/theme/theme.scss (L3-L6)Not purely keyboard-related, but some icon-buttons have no labels, like the "Notifications" one.
Gecko (Firefox) browser dev tools' "Accessibility" tab can be of great help for a start.
Vikunja Frontend Version
2f009d0b27Vikunja API Version
v0.20.4+28-6aadaaaffc
Browser and version
No response
Can you reproduce the bug on the Vikunja demo site?
Yes
Screenshots
Original issue on Gitea
@kolaente commented on 2023-03-26T14:33:28.000Z:
Yes, a11y is an ongoing effort. We have a few tasks in the backlog about this already. Problem is none of us are a11y experts either, so we tend to fix stuff as we become aware of it.
dpschen commented on 2023-03-27T12:21:15.000Z:
Very good points. As @konrad wrote: we are aware of that is is a problem in general and we do intend to solve this. We do not see accessibility as a second class citizen and do want to implement everything new with a decent accessibility in mind. That said we have a long list of old issues that we have to take care (from which you mentioned a few). I have the plan to create a component library for Vikunja step by step that should improve the situation in many areas siginficantly. In those components I want to use some of headlessuis components combined with some good parts of vueuse and self written composables to help the accessibility.
Some other background here is that we originally relied on bulma a css framework that doesn't have any continuing development. In the meantime we switched to bulma-css-variables that is deprecated and got replaces by bulvar. Coming from this switch we still have some big underlying css scoping problems that are in the css adjustment prio list in my head above 'micro' adjustments like changing hover states etc. This has mostly to do with the scope (in the sense of affected code) that a css framework switch implies and not with the importance of individual issues.
Some progress that we already had is more use of semantic elements in the code e.g. replacing
<div>buttons and links with<button type="button">and<a>elements. Still a lot missing though!Regarding the individual points you wrote:
fancycheckbox.vue: this will be fixed by pr #1800 with 3f3d2c<dialog>element is enough today.aria-labeland hover popups.@konrad:
I wouldn't label myself as an expert but I guess I could say I have at least some decent knowledge in that area.
@WofWca:
If you want to make some suggestions of individual PRs to address individual problems, I'm happy to assist.
@kolaente commented on GitHub (Jun 24, 2025):
We're still tracking this, but I feel like the original issue has been solved. Please ping if you feel like that's not the case.