diff --git a/resources/assets/javascripts/bootstrap/studip_helper_attributes.js b/resources/assets/javascripts/bootstrap/studip_helper_attributes.js index 7af9f9a8e18b8b2869a55d58feb796770207efd5..fcfa767a2efcda6596106acbd63e734da5b621a7 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) => {