From 8c91f5891f339725e99ef7dd0f903b78619d50a6 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Wed, 22 Jun 2022 08:24:10 +0000 Subject: [PATCH] set aria-disabled as well on helper attributes [data-(de)activates], fixes #1200 Closes #1200 Merge request studip/studip!711 --- .../bootstrap/studip_helper_attributes.js | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/resources/assets/javascripts/bootstrap/studip_helper_attributes.js b/resources/assets/javascripts/bootstrap/studip_helper_attributes.js index 7af9f9a8e18..fcfa767a2ef 100644 --- a/resources/assets/javascripts/bootstrap/studip_helper_attributes.js +++ b/resources/assets/javascripts/bootstrap/studip_helper_attributes.js @@ -98,11 +98,13 @@ $(document).on('change', '[data-activates],[data-deactivates]', function() { var state = $(this).prop('checked') || $(this).prop('indeterminate') || false; $(selector).each(function() { - var condition = $(this).data(`${type}Condition`), - toggle = state && (!condition || $(condition).length > 0); - $(this) - .attr('disabled', type === 'activates' ? !toggle : toggle) - .trigger('update.proxy'); + const condition = $(this).data(`${type}Condition`); + const toggle = state && (!condition || $(condition).length > 0); + const disabled = type === 'activates' ? !toggle : toggle; + $(this).attr({ + disabled: disabled, + 'aria-disabled': disabled ? 'true' : 'false' + }).trigger('update.proxy'); }); }); }); @@ -115,9 +117,12 @@ STUDIP.ready((event) => { // element. Define element to disable if select has a value different from // an empty string by a css selector in attribute "data-activates". $(document).on('change update.proxy', 'select[data-activates]', function() { - var activates = $(this).data('activates'), - disabled = $(this).is(':disabled') || $(this).val().length === 0; - $(activates).attr('disabled', disabled); + const activates = $(this).data('activates'); + const disabled = $(this).is(':disabled') || $(this).val().length === 0; + $(activates).attr({ + disabled: disabled, + 'aria-disabled': disabled ? 'true' : 'false' + }); }); STUDIP.ready((event) => { -- GitLab