Final changes for the Use cases on the live site.
[yaffs-website] / web / core / misc / details-aria.js
1 /**
2  * @file
3  * Add aria attribute handling for details and summary elements.
4  */
5
6 (function ($, Drupal) {
7
8   'use strict';
9
10   /**
11    * Handles `aria-expanded` and `aria-pressed` attributes on details elements.
12    *
13    * @type {Drupal~behavior}
14    */
15   Drupal.behaviors.detailsAria = {
16     attach: function () {
17       $('body').once('detailsAria').on('click.detailsAria', 'summary', function (event) {
18         var $summary = $(event.currentTarget);
19         var open = $(event.currentTarget.parentNode).attr('open') === 'open' ? 'false' : 'true';
20
21         $summary.attr({
22           'aria-expanded': open,
23           'aria-pressed': open
24         });
25       });
26     }
27   };
28
29 })(jQuery, Drupal);