aria-hidden属性値をtoggle

HTML

<p id="mask-switch">
  <input type="button" id="all-open" value="ALL OPEN">
  <input type="button" id="all-close" value="ALL CLOSE">
</p>

<h3>神経系とは</h3>
<p>神経系とは、中枢では<span class="mask" aria-hidden="true">脳と脊髄</span>、末梢では<span class="mask" aria-hidden="true">運動</span>神経・<span class="mask" aria-hidden="true">感覚</span>神経・<span class="mask" aria-hidden="true">自律</span>神経という神経組織からなる。</p>

<ul>
 <li><a href="https://teratail.com/questions/72634">JavaScript - Google chromeでjsの関数書き換えができない(72634)|teratail</a></li>
</ul>

CSS

.mask {
  color: black;
  background-color: white;
  cursor: pointer;
}

.mask[aria-hidden="true"] {
  color: black;
  background-color: black;
}

JavaScript

'use strict';
document.querySelectorAll('.mask').forEach(function (element) {
  element.addEventListener('click', function (event) {
    var element = event.target;

    element.setAttribute('aria-hidden', element.getAttribute('aria-hidden') === 'true' ? 'false' : 'true');
  }, false);
});

document.getElementById('mask-switch').addEventListener('click', function handleClick (event) {
  var input = event.target, ariaHidden;

  switch (input.id) {
    case 'all-open':
      ariaHidden = 'false';
      break;
    case 'all-close':
      ariaHidden = 'true';
      break;
  }

  if (ariaHidden) {
    for (var elements = document.querySelectorAll('.mask'), i = 0, len = elements.length; i < len; ++i) {
      elements[i].setAttribute('aria-hidden', ariaHidden);
    }
  }
}, false);