chromium/content/test/data/accessibility/event/multiple-aria-properties-changed.html

<!--
@UIA-WIN-DENY:*
@UIA-WIN-ALLOW:AriaProperties*
-->
<!DOCTYPE html>
<form>
  <div aria-label="checkbox1" role="checkbox"></div>
  <div aria-label="checkbox2" role="checkbox" aria-checked="false" aria-required="false" aria-readonly="false"></div>
  <div aria-label="checkbox3" role="checkbox" aria-checked="true" aria-required="true" aria-readonly="true"></div>
  <div aria-label="checkbox4" role="checkbox" aria-checked="true" aria-required="true" aria-readonly="true"></div>
</form>
<script>
  function go() {
    // Tests below modify multiple aria attributes on a single element at
    // a time and the expected behavior is to fire UIA_AriaPropertiesPropertyId
    // event once rather than multiple times.

    // Multiple aria attributes change, default[false]->false;
    // should not fire any event.
    document.querySelector('div[aria-label=checkbox1]').setAttribute('aria-checked', false);
    document.querySelector('div[aria-label=checkbox1]').setAttribute('aria-required', false);
    document.querySelector('div[aria-label=checkbox1]').setAttribute('aria-readonly', false);

    // Multiple aria attributes change, false->true;
    // should fire only one event.
    document.querySelector('div[aria-label=checkbox2]').setAttribute('aria-checked', true);
    document.querySelector('div[aria-label=checkbox2]').setAttribute('aria-required', true);
    document.querySelector('div[aria-label=checkbox2]').setAttribute('aria-readonly', true);

    // Multiple aria attributes change, true->false;
    // should fire only one event.
    document.querySelector('div[aria-label=checkbox3]').setAttribute('aria-checked', false);
    document.querySelector('div[aria-label=checkbox3]').setAttribute('aria-required', false);
    document.querySelector('div[aria-label=checkbox3]').setAttribute('aria-readonly', false);

    // Multiple aria attributes change, true->removed;
    // should fire only one event.
    document.querySelector('div[aria-label=checkbox4]').removeAttribute('aria-checked');
    document.querySelector('div[aria-label=checkbox4]').removeAttribute('aria-required');
    document.querySelector('div[aria-label=checkbox4]').removeAttribute('aria-readonly');
  }
</script>