Skip to content

Commit

Permalink
"Iframe not with interactive element" [akn7bn]: handle inert iframe (#…
Browse files Browse the repository at this point in the history
…2125)

* Update programmatically-determined-link-context.md

* Update iframe-not-focusable-has-no-interactive-content-akn7bn.md

* Update programmatically-determined-link-context.md

* Update iframe-not-focusable-has-no-interactive-content-akn7bn.md

* Create modal-dialog

* Rename modal-dialog to modal-dialog.md

* Update iframe-not-focusable-has-no-interactive-content-akn7bn.md

* Update iframe-not-focusable-has-no-interactive-content-akn7bn.md

* Apply suggestions from code review

Co-authored-by: Dan Tripp <[email protected]>

* Update iframe-not-focusable-has-no-interactive-content-akn7bn.md

* Update and rename modal-dialog.md to inert.md

* Update iframe-not-focusable-has-no-interactive-content-akn7bn.md

* Update iframe-not-focusable-has-no-interactive-content-akn7bn.md

* Update spelling-ignore.yml

* Update iframe-not-focusable-has-no-interactive-content-akn7bn.md

* Update inert.md

* Apply suggestions from code review

Co-authored-by: Jean-Yves Moyen <[email protected]>
Co-authored-by: Dan Tripp <[email protected]>

* Update iframe-not-focusable-has-no-interactive-content-akn7bn.md

* Update inert.md

* Apply suggestions from code review

Co-authored-by: Wilco Fiers <[email protected]>

* AGWG Updates (#2067)

* Add (alt="") for clarity on empty alt

* Resolve focus visible feedback

* Tweak contrast rules

* Tweak page title descriptive

* Fix tests

* Apply suggestions from code review

Co-authored-by: Trevor R. Bostic <[email protected]>

---------

Co-authored-by: Trevor R. Bostic <[email protected]>

* [cae760] Frame has non-empty accessible name (#2034)

* First pass in response to Feb 16 TF meeting

* typo

* Update _rules/iframe-non-empty-accessible-name-cae760.md

Co-authored-by: Wilco Fiers <[email protected]>

* Update _rules/iframe-non-empty-accessible-name-cae760.md

Co-authored-by: Wilco Fiers <[email protected]>

* Update _rules/iframe-non-empty-accessible-name-cae760.md

Co-authored-by: Wilco Fiers <[email protected]>

* Update _rules/iframe-non-empty-accessible-name-cae760.md

Co-authored-by: Wilco Fiers <[email protected]>

* Update _rules/iframe-non-empty-accessible-name-cae760.md

Co-authored-by: Wilco Fiers <[email protected]>

* Move note about frame to background

* Set height for frame

* Test wants alphabetical contributors

* Update _rules/iframe-non-empty-accessible-name-cae760.md

Co-authored-by: Jean-Yves Moyen <[email protected]>

* Update _rules/iframe-non-empty-accessible-name-cae760.md

Co-authored-by: Jean-Yves Moyen <[email protected]>

* Update _rules/iframe-non-empty-accessible-name-cae760.md

Co-authored-by: Jean-Yves Moyen <[email protected]>

* Move note to background

---------

Co-authored-by: Wilco Fiers <[email protected]>
Co-authored-by: Jean-Yves Moyen <[email protected]>

* Updating glossary definition. (#2069)

* Bump yaml and zx (#2056)

* Bump yaml and zx

Bumps [yaml](https://github.com/eemeli/yaml) to 2.2.2 and updates ancestor dependency [zx](https://github.com/google/zx). These dependencies need to be updated together.


Updates `yaml` from 1.10.2 to 2.2.2
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](eemeli/yaml@v1.10.2...v2.2.2)

Updates `zx` from 5.3.0 to 7.2.1
- [Release notes](https://github.com/google/zx/releases)
- [Commits](google/zx@5.3.0...7.2.1)

---
updated-dependencies:
- dependency-name: yaml
  dependency-type: indirect
- dependency-name: zx
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>

* Trigger CLA?

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jean-Yves Moyen <[email protected]>

* new rule: ARIA required ID references exist (#2041)

* new rule: ARIA required ID references exist

* Address review comments

Co-authored-by: Carlos Duarte <[email protected]>

* Apply suggestions from code review

Co-authored-by: Jean-Yves Moyen <[email protected]>

* Apply suggestions from code review

Co-authored-by: Tom Brunet <[email protected]>
Co-authored-by: Jean-Yves Moyen <[email protected]>

* Update _rules/aria-required-id-references-in6db8.md

* Apply suggestions from code review

Co-authored-by: Carlos Duarte <[email protected]>

---------

Co-authored-by: Carlos Duarte <[email protected]>
Co-authored-by: Jean-Yves Moyen <[email protected]>
Co-authored-by: Tom Brunet <[email protected]>

* scrollable element: clarify the title (#2083)

* UpdateTableHeaderRule (#2074)

* UpdateTableHeaderRule

* Update table-header-cell-has-assigned-cells-d0f69e.md

* trigger test

* Update _rules/table-header-cell-has-assigned-cells-d0f69e.md

Co-authored-by: Jean-Yves Moyen <[email protected]>

---------

Co-authored-by: Wilco Fiers <[email protected]>
Co-authored-by: Jean-Yves Moyen <[email protected]>

* Adds apostrophe to mark the possessive form (#2080)

Co-authored-by: Wilco Fiers <[email protected]>

* Focus visible rule: Fix typo (#2082)

* Contrast rules: Tweak background text (#2090)

* Tweak name / description of Scrollable element keyboard (#2092)

* Deprecate HTML page lang and xml:lang attributes have matching values (#2086)

* Deprecate HTML page lang and xml:lang attributes have matching values

* Apply suggestions from code review

Co-authored-by: Carlos Duarte <[email protected]>

---------

Co-authored-by: Carlos Duarte <[email protected]>

* Rephrase Applicability (#2079)

* Rename file (#2078)

* Move secondary requirement texts out of the background (#2060)

* Move secondary requirement texts out of the background

* Apply suggestions from code review

* fix test

* Fix failing test

* Secondary reqs on ARIA rules

* Update all secondary requirements

* Typos

* Fix failing tests

* Update _rules/link-non-empty-accessible-name-c487ae.md

Co-authored-by: Trevor R. Bostic <[email protected]>

* Tweaked the language some more

* Update rule design info for secondary requirements

* Fix tests

* Apply suggestions from code review

Co-authored-by: Kathy Eng <[email protected]>

* Apply suggestions from code review

Co-authored-by: Jean-Yves Moyen <[email protected]>

---------

Co-authored-by: Trevor R. Bostic <[email protected]>
Co-authored-by: Kathy Eng <[email protected]>
Co-authored-by: Jean-Yves Moyen <[email protected]>

* fix test on secondary requirements (#2102)

* fix test on secondary requirements

* More assertions

* Update _rules/aria-required-id-references-in6db8.md

Co-authored-by: Jean-Yves Moyen <[email protected]>

---------

Co-authored-by: Jean-Yves Moyen <[email protected]>

* Update dependencies (including act-tools) (#2103)

* fix test-assets not getting built right (#2104)

* Update element-lang-valid-de46e4.md (#2100)

Co-authored-by: Jean-Yves Moyen <[email protected]>

* fix the approve-rule action (#2105)

* Remove outdated accsupport note (#2111)

* "Element with lang attribute has valid language tag" [de46e4]: Updated Failed Examples 4 and 5 to reflect Applicability (#2094)

* Update element-lang-valid-de46e4.md

Updated Failed examples 4 and 5 to reflect applicability

* Apply suggestions from code review

Co-authored-by: Jean-Yves Moyen <[email protected]>

* Update _rules/element-lang-valid-de46e4.md

Co-authored-by: Dan Tripp <[email protected]>

---------

Co-authored-by: Jean-Yves Moyen <[email protected]>
Co-authored-by: Dan Tripp <[email protected]>
Co-authored-by: Carlos Duarte <[email protected]>

* Text spacing rewrite (#1923)

* Add new letter-spacing rule and deprecate old one

* Add new word-spacing rule and deprecate old one

* Clean up assumptions

* Clean up

* Clean up

* Add new line-height rule and deprecate old one

* Replace old letter spacing version rather than deprecating it

* Replace old line height version rather than deprecating it

* Replace old word spacing version rather than deprecating it

* Target text nodes

* Improve background note

* Apply suggestion from review

* Clean up

* Target text nodes rather than their parents

* Target text nodes rather than their parents

* Add missing reference

* Update example

* Apply to parent of text nodes, not text nodes

* Apply suggestions from code review

Co-authored-by: Carlos Duarte <[email protected]>

* Typos

Co-authored-by: Carlos Duarte <[email protected]>

* Typos

---------

Co-authored-by: Carlos Duarte <[email protected]>

* "Meta viewport allows for zoom" (b4f0c3): Explicit meaning of 'has' (#1994)

* Explicit meaning of 'has'

* Improve expectation and examples

* Typo

* Improve algorithm description

Co-authored-by: Carlos Duarte <[email protected]>

* Rephrase expectations

* Streamline Applicability

* Typo

* Simplify expectations

---------

Co-authored-by: Carlos Duarte <[email protected]>

* Map Empty-heading rule to ARIA instead of WCAG (#2120)

Co-authored-by: Jean-Yves Moyen <[email protected]>

* Deprecate 4.1.1 rules (#2117)

Co-authored-by: Jean-Yves Moyen <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: giacomo-petri <[email protected]>
Co-authored-by: Carlos Duarte <[email protected]>
Co-authored-by: Dan Tripp <[email protected]>
Co-authored-by: Wilco Fiers <[email protected]>
Co-authored-by: Trevor R. Bostic <[email protected]>
Co-authored-by: Tom Brunet <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HelenBurge <[email protected]>
Co-authored-by: Wilco Fiers <[email protected]>
Co-authored-by: Daniel Montalvo <[email protected]>
Co-authored-by: Kathy Eng <[email protected]>
  • Loading branch information
12 people authored Oct 16, 2023
1 parent 94f99d6 commit 93ae5bf
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 1 deletion.
1 change: 1 addition & 0 deletions __tests__/spelling-ignore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,7 @@
- reflow
- Viewport
- dom-meta-content
- showModal

# Unsure why the dictionary does not have these words
- programmatically
Expand Down
36 changes: 35 additions & 1 deletion _rules/iframe-with-interactive-content-in-tab-order-akn7bn.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ acknowledgments:

## Applicability

This rule applies to any `iframe` element that [contains](#akn7bn:contain) at least one element for which all the following are true:
This rule applies to any `iframe` element that is not [inert][] and that [contains](#akn7bn:contain) at least one element for which all the following are true:

- the element is [visible][]; and
- the element is part of the [sequential focus navigation order][] of the `iframe`'s [document][].
Expand Down Expand Up @@ -122,10 +122,44 @@ This `iframe` element contains a link that is not part of its [sequential focus
<iframe tabindex="-1" srcdoc="<a href='/' tabindex='-1'>Home</a>"></iframe>
```

#### Inapplicable Example 5

This `iframe` element is [inert][] because of its own `inert` [attribute value][].

```html
<iframe tabindex="-1" inert srcdoc="<a href='/'>Home</a>"></iframe>
```

#### Inapplicable Example 6

Once the "Privacy policy details" button is activated, the `iframe` element becomes [inert][] because of the showModal() method, which causes the `iframe` to be [blocked by a modal].

```html
<iframe id="myFrame" title="Links" srcdoc="<a href='/'>Home</a>"></iframe>
<div>
<button id="ppButton" onclick="openDialog()">Privacy policy details</button>
</div>
<dialog id="ppDialog" aria-labelledby="dialogLabel">
<h2 id="dialogLabel">Privacy Policy</h2>
<p>We store no data.</p>
<button id="cancel" onclick="ppDialog.close()">Cancel</button>
</dialog>
<script>
const openDialog = () => {
ppDialog.showModal();
myFrame.tabIndex = '-1'
}
ppDialog.addEventListener('close', () => myFrame.tabIndex = 0)
window.addEventListener('DOMContentLoaded', openDialog);
</script>
```

[attribute value]: #attribute-value 'Definition of Attribute Value'
[blocked by a modal]: https://html.spec.whatwg.org/multipage/interaction.html#blocked-by-a-modal-dialog
[container document]: https://html.spec.whatwg.org/#bc-container-document 'HTML browsing context container document, 2020/12/18'
[document]: https://html.spec.whatwg.org/multipage/dom.html#document 'HTML definition of document'
[flattened tabindex-ordered focus navigation scope]: https://html.spec.whatwg.org/multipage/interaction.html#flattened-tabindex-ordered-focus-navigation-scope 'HTML - Living Standard, 2022/07/08'
[inert]: #inert 'Definition of Inert'
[nested browsing context]: https://html.spec.whatwg.org/#nested-browsing-context 'HTML nested browsing context, 2020/12/18'
[owner document]: https://dom.spec.whatwg.org/#dom-node-ownerdocument 'DOM node owner document property, 2020/12/18'
[sc211]: https://www.w3.org/TR/WCAG21/#keyboard 'WCAG 2.1 Success criterion 2.1.1 Keyboard'
Expand Down
20 changes: 20 additions & 0 deletions pages/glossary/inert.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Inert
key: inert
unambiguous: true
objective: true
input_aspects:
- Accessibility tree
- CSS styling
- DOM tree
---

An [HTML or SVG element][] is inert if:
- it has an `inert` [attribute value][] of true; or
- one of its ancestor elements in the [flat tree][] has an `inert` [attribute value][] of true; or
- it is [blocked by a modal][].

[HTML or SVG element]: #namespaced-element 'Definition of HTML or SVG element'
[attribute value]: #attribute-value 'Definition of Attribute value'
[blocked by a modal]: https://html.spec.whatwg.org/multipage/interaction.html#blocked-by-a-modal-dialog
[flat tree]: https://drafts.csswg.org/css-scoping/#flat-tree 'Definition of flat tree'

0 comments on commit 93ae5bf

Please sign in to comment.