From b9f4a8f07ff29227f1f3f8e4a8b9bf2dd91d187f Mon Sep 17 00:00:00 2001 From: Arsenie Coseac <124933924+acoseac@users.noreply.github.com> Date: Sun, 16 Aug 2026 21:37:18 +0200 Subject: [PATCH] fix(webapp): basic accessibility improvements Accessible names: the mobile navigation toggle and the create button in the CRUD lists are icon-only and were exposed to assistive technology without a name. Two dialog close controls were bare elements carrying a click handler, so they were neither focusable nor operable by keyboard; they now use the same button pattern as the close control in TOTPVerifyDialog. Headings: page titles rendered as
, so views such as the login page had no heading at all and screen reader users had nothing to navigate by. Toolbar titles now render as

through Vuetify's tag prop, and the step titles on the domain setup page as

. Neither changes appearance. Progress bar: it appears on every request and, while active, was exposed to assistive technology as an unnamed progressbar, which is the reported irritation. It is decorative, so it is now hidden from the accessibility tree; the visual behaviour is unchanged. Follows the review on #890 by adding accessible names only where there is no visible text, rather than duplicating text the accessible name is already computed from. Closes #472 --- www/webapp/src/App.vue | 13 ++++++++++++- www/webapp/src/views/ChangeEmail.vue | 2 +- www/webapp/src/views/ConfirmationPage.vue | 2 +- .../src/views/Console/DomainSetupDialog.vue | 13 ++++++++++--- .../src/views/Console/TOTPVerifyDialog.vue | 4 ++-- www/webapp/src/views/CrudList.vue | 17 +++++++++++++---- www/webapp/src/views/DeleteAccount.vue | 2 +- www/webapp/src/views/DomainSetup.vue | 16 ++++++++-------- www/webapp/src/views/DomainSetupPage.vue | 6 +++--- www/webapp/src/views/DonatePage.vue | 6 +++--- www/webapp/src/views/DynSetup.vue | 2 +- www/webapp/src/views/LoginPage.vue | 2 +- www/webapp/src/views/MFA.vue | 4 ++-- www/webapp/src/views/ResetPassword.vue | 2 +- www/webapp/src/views/SignUp.vue | 2 +- www/webapp/src/views/WelcomePage.vue | 2 +- 16 files changed, 61 insertions(+), 34 deletions(-) diff --git a/www/webapp/src/App.vue b/www/webapp/src/App.vue index a95078a6a..722186ff1 100644 --- a/www/webapp/src/App.vue +++ b/www/webapp/src/App.vue @@ -47,7 +47,12 @@ Create Account Log In Log Out - + + diff --git a/www/webapp/src/views/ChangeEmail.vue b/www/webapp/src/views/ChangeEmail.vue index 48493a90a..2979bd769 100644 --- a/www/webapp/src/views/ChangeEmail.vue +++ b/www/webapp/src/views/ChangeEmail.vue @@ -22,7 +22,7 @@ color="primary" flat > - Change Account Email Address + Change Account Email Address diff --git a/www/webapp/src/views/ConfirmationPage.vue b/www/webapp/src/views/ConfirmationPage.vue index 503a6d313..632453f7b 100644 --- a/www/webapp/src/views/ConfirmationPage.vue +++ b/www/webapp/src/views/ConfirmationPage.vue @@ -17,7 +17,7 @@ color="primary" flat > - {{ actionName }} Confirmation + {{ actionName }} Confirmation diff --git a/www/webapp/src/views/Console/DomainSetupDialog.vue b/www/webapp/src/views/Console/DomainSetupDialog.vue index b68664f09..4b7573bf0 100644 --- a/www/webapp/src/views/Console/DomainSetupDialog.vue +++ b/www/webapp/src/views/Console/DomainSetupDialog.vue @@ -8,11 +8,18 @@ > -
+

Setup Instructions for {{ domain }} -

+

- + + + diff --git a/www/webapp/src/views/Console/TOTPVerifyDialog.vue b/www/webapp/src/views/Console/TOTPVerifyDialog.vue index 3cb202055..4051c9535 100644 --- a/www/webapp/src/views/Console/TOTPVerifyDialog.vue +++ b/www/webapp/src/views/Console/TOTPVerifyDialog.vue @@ -9,9 +9,9 @@ - +

Verify TOTP: {{ displayName }} - +

- {{ headlines.table }} + {{ headlines.table }} @@ -86,9 +87,17 @@ - {{ headlines.create }} + +

{{ headlines.create }}

- + + +
- {{ headlines.destroy }} +

{{ headlines.destroy }}

diff --git a/www/webapp/src/views/DeleteAccount.vue b/www/webapp/src/views/DeleteAccount.vue index 28e6ceb6d..be334fe72 100644 --- a/www/webapp/src/views/DeleteAccount.vue +++ b/www/webapp/src/views/DeleteAccount.vue @@ -22,7 +22,7 @@ color="primary" flat > - Delete Account + Delete Account
diff --git a/www/webapp/src/views/DomainSetup.vue b/www/webapp/src/views/DomainSetup.vue index 62dda2d9d..512cc94d4 100644 --- a/www/webapp/src/views/DomainSetup.vue +++ b/www/webapp/src/views/DomainSetup.vue @@ -10,10 +10,10 @@

-
+

Configure your DNS records -

+

Before delegating your domain, you might want to take the following steps:

  • Set up a password for your deSEC account,
  • @@ -22,10 +22,10 @@
-
+

Delegate your domain -

+

Forward the following information to the organization/person where you bought the domain {{ domain }} (usually your provider or technical administrator). @@ -73,10 +73,10 @@

Once your provider processes this information, the Internet will start directing DNS queries to deSEC.

-
+

Enable DNSSEC -

+

You also need to forward the following DNSSEC information to your domain provider. @@ -130,10 +130,10 @@ Parameters could not be retrieved. (Are you logged in?) -

+

Check Setup -

+

All set up correctly? Take a look at DNSSEC Analyzer to check the status of your domain. diff --git a/www/webapp/src/views/DomainSetupPage.vue b/www/webapp/src/views/DomainSetupPage.vue index 622914181..c880a41d8 100644 --- a/www/webapp/src/views/DomainSetupPage.vue +++ b/www/webapp/src/views/DomainSetupPage.vue @@ -7,7 +7,7 @@ color="primary" flat > - Setup Instructions for {{ domain }} + Setup Instructions for {{ domain }} @@ -20,7 +20,7 @@ -

Find Help
+

Find Help

In our forum talk.desec.io, members of the community discuss ideas and applications of deSEC. If you have a question, chances are that you may be able to find @@ -33,7 +33,7 @@ -
Keep deSEC Going
+

Keep deSEC Going

To offer free DNS hosting for everyone, deSEC relies on donations only. If you like our service, please consider donating. diff --git a/www/webapp/src/views/DonatePage.vue b/www/webapp/src/views/DonatePage.vue index 548a9e78b..cc5ba157c 100644 --- a/www/webapp/src/views/DonatePage.vue +++ b/www/webapp/src/views/DonatePage.vue @@ -18,7 +18,7 @@ color="primary" flat > - Donate + Donate @@ -158,7 +158,7 @@ Based in Europe? You almost certainly can donate via direct debit or bank transfer (you only need your IBAN). No fees will be subtracted, so you can do more good!

-
Donation Receipts
+

Donation Receipts

deSEC e.V. is registered as a charitable organization in Germany. If you pay taxes here, your donation is tax-deductible, and we're happy to provide you with a donation receipt for that purpose. Note that for @@ -173,7 +173,7 @@ color="primary" flat > - Support our Quest + Support our Quest

diff --git a/www/webapp/src/views/DynSetup.vue b/www/webapp/src/views/DynSetup.vue index fa462a76f..390636264 100644 --- a/www/webapp/src/views/DynSetup.vue +++ b/www/webapp/src/views/DynSetup.vue @@ -17,7 +17,7 @@ color="primary" flat > - Domain Registration Completed + Domain Registration Completed diff --git a/www/webapp/src/views/LoginPage.vue b/www/webapp/src/views/LoginPage.vue index c266f9f9d..1b95e5a36 100644 --- a/www/webapp/src/views/LoginPage.vue +++ b/www/webapp/src/views/LoginPage.vue @@ -22,7 +22,7 @@ color="primary" flat > - Log In + Log In diff --git a/www/webapp/src/views/MFA.vue b/www/webapp/src/views/MFA.vue index 385e6e9d1..e6258971e 100644 --- a/www/webapp/src/views/MFA.vue +++ b/www/webapp/src/views/MFA.vue @@ -8,9 +8,9 @@ -

+

2FA Required -

+ diff --git a/www/webapp/src/views/ResetPassword.vue b/www/webapp/src/views/ResetPassword.vue index 70a8f3ca6..091844313 100644 --- a/www/webapp/src/views/ResetPassword.vue +++ b/www/webapp/src/views/ResetPassword.vue @@ -22,7 +22,7 @@ color="primary" flat > - Reset Account Password + Reset Account Password diff --git a/www/webapp/src/views/SignUp.vue b/www/webapp/src/views/SignUp.vue index b75550048..2a9237f7f 100644 --- a/www/webapp/src/views/SignUp.vue +++ b/www/webapp/src/views/SignUp.vue @@ -23,7 +23,7 @@ color="primary" flat > - Create new Account + Create new Account diff --git a/www/webapp/src/views/WelcomePage.vue b/www/webapp/src/views/WelcomePage.vue index 1d15244a7..1c1c0c1e4 100644 --- a/www/webapp/src/views/WelcomePage.vue +++ b/www/webapp/src/views/WelcomePage.vue @@ -17,7 +17,7 @@ color="primary" flat > - Welcome to deSEC + Welcome to deSEC