From 482a8b17d962e6ae87dee75c3b365a50154d55c3 Mon Sep 17 00:00:00 2001 From: daria <95225431+dariiing@users.noreply.github.com> Date: Wed, 21 May 2025 12:09:53 -0700 Subject: [PATCH 1/6] make dialog content accessible screen readers announce alert dialogs --- customize.dist/src/less2/include/alertify.less | 2 +- customize.dist/src/less2/pages/page-register.less | 2 +- www/common/common-interface.js | 8 +++++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/customize.dist/src/less2/include/alertify.less b/customize.dist/src/less2/include/alertify.less index acd8fcef1..ce2ce49f1 100644 --- a/customize.dist/src/less2/include/alertify.less +++ b/customize.dist/src/less2/include/alertify.less @@ -324,7 +324,7 @@ min-width: 88px; } - nav { + nav, section { padding: @alertify_padding-base; text-align: right; button, div.cp-button-confirm { diff --git a/customize.dist/src/less2/pages/page-register.less b/customize.dist/src/less2/pages/page-register.less index d32d97817..d66967b1c 100644 --- a/customize.dist/src/less2/pages/page-register.less +++ b/customize.dist/src/less2/pages/page-register.less @@ -66,7 +66,7 @@ display: none; } - nav { + nav, section { display: flex; justify-content: flex-end; align-items: flex-end; diff --git a/www/common/common-interface.js b/www/common/common-interface.js index 1f849c1bf..71c8383ad 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -196,7 +196,7 @@ define([ }; dialog.nav = function (content) { - return h('nav', content || [ + return h('section', content || [ dialog.cancelButton(), dialog.okButton(), ]); @@ -212,6 +212,12 @@ define([ h('div'+cls, content), ]) ]); + + var dialogContent = frame.querySelector('div' + cls); + dialogContent.setAttribute('aria-live', 'assertive'); + dialogContent.setAttribute('role', 'alertdialog'); + dialogContent.setAttribute('aria-modal', 'true'); + var $frame = $(frame); frame.closeModal = function (cb) { frame.closeModal = function () {}; // Prevent further calls From 77afbeb2ab3ccedd296d61dd13e26d70a2ba4365 Mon Sep 17 00:00:00 2001 From: daria <95225431+dariiing@users.noreply.github.com> Date: Wed, 21 May 2025 13:07:09 -0700 Subject: [PATCH 2/6] update aria-checked attribute dynamically --- www/common/common-interface.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/www/common/common-interface.js b/www/common/common-interface.js index 60e106923..51cc5ae94 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -1359,13 +1359,12 @@ define([ }); $input.change(function () { + $mark.attr('aria-checked', $input.is(':checked')); if (!opts.labelAlt) { return; } if ($input.is(':checked') !== checked) { $(label).text(opts.labelAlt); - $mark.attr('aria-checked', 'true'); } else { $(label).text(labelTxt); - $mark.attr('aria-checked', 'false'); } }); From 8e8a73c581e332364c3db351dccc4279a2e5d908 Mon Sep 17 00:00:00 2001 From: daria <95225431+dariiing@users.noreply.github.com> Date: Wed, 21 May 2025 13:30:58 -0700 Subject: [PATCH 3/6] update navigation & footer elements role --- customize.dist/pages.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/customize.dist/pages.js b/customize.dist/pages.js index 51ebb4d08..6e95c58ef 100644 --- a/customize.dist/pages.js +++ b/customize.dist/pages.js @@ -82,6 +82,7 @@ define([ if (!ref) { return; } var attrs = { href: ref, + role: 'button', }; var iconName = ''; if (!/^\//.test(ref)) { @@ -160,7 +161,7 @@ define([ return h('footer.cp-footer', [ h('div.cp-footer-left', [ - h('a', {href:"https://cryptpad.org"}, [ + h('a', {href:"https://cryptpad.org", role: 'button'}, [ h('div.cp-logo-foot', [ h('img', { src: '/customize/CryptPad_logo.svg', @@ -193,7 +194,7 @@ define([ var registerLink; if (!ApiConfig.restrictRegistration) { - registerLink = h('a.nav-item.nav-link.cp-register-btn', { href: '/register/'}, [ + registerLink = h('a.nav-item.nav-link.cp-register-btn', { href: '/register/', role: 'button'}, [ h('i.fa.fa-user', {'aria-hidden':'true'}), Msg.login_register ]); @@ -201,14 +202,14 @@ define([ if (username === null) { rightLinks = [ - h('a.nav-item.nav-link.cp-login-btn', { href: '/login/'}, [ + h('a.nav-item.nav-link.cp-login-btn', { href: '/login/', role: 'button'}, [ h('i.fa.fa-sign-in', {'aria-hidden':'true'}), Msg.login_login ]), registerLink, ]; } else { - rightLinks = h('a.nav-item.nav-link.cp-user-btn', { href: '/drive/' }, [ + rightLinks = h('a.nav-item.nav-link.cp-user-btn', { href: '/drive/', role: 'button'}, [ h('i.fa.fa-user-circle', {'aria-hidden':'true'}), " ", username @@ -216,7 +217,7 @@ define([ } var isHome = ['/', '/index.html'].includes(window.location.pathname); - var homeLink = h('a.nav-item.nav-link.cp-back-home' /* .navbar-brand */, { href: '/index.html' }, [ + var homeLink = h('a.nav-item.nav-link.cp-back-home' /* .navbar-brand */, { href: '/index.html', role: 'button'}, [ h('i.fa.fa-arrow-left'), h('img', { src: '/customize/CryptPad_logo.svg', @@ -229,7 +230,7 @@ define([ return h('nav.navbar.navbar-expand-lg', [ !isHome? homeLink: undefined, - h('a.nav-item.nav-link', { href: '/features.html'}, [ + h('a.nav-item.nav-link', { href: '/features.html', role: 'button'}, [ h('i.fa.fa-info-circle'), Pages.areSubscriptionsAllowed()? Msg.pricing: Msg.features ]), From cd451b930156a2b940c78f5a4485d37922e6047b Mon Sep 17 00:00:00 2001 From: Daria <95225431+dariiing@users.noreply.github.com> Date: Wed, 21 May 2025 15:13:26 +0300 Subject: [PATCH 4/6] Delete FUNDING.json --- FUNDING.json | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 FUNDING.json diff --git a/FUNDING.json b/FUNDING.json deleted file mode 100644 index 8f17bc63f..000000000 --- a/FUNDING.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "drips": { - "ethereum": { - "ownedBy": "0xa117114b3a22e038c1545043d610dbd4029355b1" - } - } -} \ No newline at end of file From 69b50db2ebe2d6a09cb50bb8495d78cae9f9f27a Mon Sep 17 00:00:00 2001 From: daria <95225431+dariiing@users.noreply.github.com> Date: Fri, 23 May 2025 06:17:49 -0700 Subject: [PATCH 5/6] Revert "Delete FUNDING.json" This reverts commit cd451b930156a2b940c78f5a4485d37922e6047b. --- FUNDING.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 FUNDING.json diff --git a/FUNDING.json b/FUNDING.json new file mode 100644 index 000000000..8f17bc63f --- /dev/null +++ b/FUNDING.json @@ -0,0 +1,7 @@ +{ + "drips": { + "ethereum": { + "ownedBy": "0xa117114b3a22e038c1545043d610dbd4029355b1" + } + } +} \ No newline at end of file From f0d6f2a1b7d0bd1b5b7a717e33eecf1c9c0f0927 Mon Sep 17 00:00:00 2001 From: daria <95225431+dariiing@users.noreply.github.com> Date: Fri, 23 May 2025 06:25:41 -0700 Subject: [PATCH 6/6] revert changes --- customize.dist/src/less2/include/alertify.less | 2 +- customize.dist/src/less2/pages/page-register.less | 2 +- www/common/common-interface.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/customize.dist/src/less2/include/alertify.less b/customize.dist/src/less2/include/alertify.less index ce2ce49f1..acd8fcef1 100644 --- a/customize.dist/src/less2/include/alertify.less +++ b/customize.dist/src/less2/include/alertify.less @@ -324,7 +324,7 @@ min-width: 88px; } - nav, section { + nav { padding: @alertify_padding-base; text-align: right; button, div.cp-button-confirm { diff --git a/customize.dist/src/less2/pages/page-register.less b/customize.dist/src/less2/pages/page-register.less index d66967b1c..d32d97817 100644 --- a/customize.dist/src/less2/pages/page-register.less +++ b/customize.dist/src/less2/pages/page-register.less @@ -66,7 +66,7 @@ display: none; } - nav, section { + nav { display: flex; justify-content: flex-end; align-items: flex-end; diff --git a/www/common/common-interface.js b/www/common/common-interface.js index 51cc5ae94..a64e6bc55 100644 --- a/www/common/common-interface.js +++ b/www/common/common-interface.js @@ -196,7 +196,7 @@ define([ }; dialog.nav = function (content) { - return h('section', content || [ + return h('nav', content || [ dialog.cancelButton(), dialog.okButton(), ]);