From 6231c159b8de0acb9e0fdacaed9f5b616e112606 Mon Sep 17 00:00:00 2001 From: Michael Vickers Date: Sat, 3 Oct 2020 10:52:09 +0100 Subject: [PATCH] Add aria-label to project select role without label --- app/Template/project_permission/groups.php | 1 + app/Template/project_permission/users.php | 1 + assets/js/components/project-select-role.js | 10 +++++++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/Template/project_permission/groups.php b/app/Template/project_permission/groups.php index c9d95112a..7a7c132fb 100644 --- a/app/Template/project_permission/groups.php +++ b/app/Template/project_permission/groups.php @@ -21,6 +21,7 @@ 'roles' => $roles, 'role' => $group['role'], 'id' => $group['id'], + 'ariaLabel' => t('Role'), 'url' => $this->url->to('ProjectPermissionController', 'changeGroupRole', array('project_id' => $project['id'])), )) ?> diff --git a/app/Template/project_permission/users.php b/app/Template/project_permission/users.php index d844f3e74..78f2e9392 100644 --- a/app/Template/project_permission/users.php +++ b/app/Template/project_permission/users.php @@ -17,6 +17,7 @@ 'roles' => $roles, 'role' => $user['role'], 'id' => $user['id'], + 'ariaLabel' => t('Role'), 'url' => $this->url->to('ProjectPermissionController', 'changeUserRole', array('project_id' => $project['id'])), )) ?> diff --git a/assets/js/components/project-select-role.js b/assets/js/components/project-select-role.js index 904d1dbd0..c3e33ee8a 100644 --- a/assets/js/components/project-select-role.js +++ b/assets/js/components/project-select-role.js @@ -33,6 +33,14 @@ KB.component('project-select-role', function (containerElement, options) { containerElement.appendChild(componentElement); } + function getAriaLabelValue() { + if (options.ariaLabel) { + return options.ariaLabel; + } + + return ''; + } + function buildComponentElement() { var roles = []; var container = KB.dom('div'); @@ -49,7 +57,7 @@ KB.component('project-select-role', function (containerElement, options) { } } - container.add(KB.dom('select').change(onChange).for('option', roles).build()); + container.add(KB.dom('select').attr('aria-label', getAriaLabelValue()).change(onChange).for('option', roles).build()); if (isLoading) { container.text(' ');