New issue
Advanced search Search tips

Issue 618746 link

Starred by 13 users

Issue metadata

Status: ExternalDependency
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocked on:
issue 692360



Sign in to add a comment

Implement inert attribute

Project Member Reported by robdodson@chromium.org, Jun 9 2016

Issue description

Version: 51.0.2704.84 (64-bit)
OS: Mac OSX

What steps will reproduce the problem?
(1) Create an element with will-change: transform, the element should contain focusable children
(2) Transform the element so it's offscreen
(3) Focusable children can still be reached with the tab key

What is the expected output?

There should be a way to remove the entire element/tree from the tab order.

What do you see instead?

To remove the element from the tab order I can either set it to visibility: hidden (but then I'll lose my fancy will-change layer and hurt my animation perf) or I can iterate over all children and set focusable ones to tabindex=-1, then restore their tabindex when the element is onscreen again. This becomes especially difficult if we factor in Shadow DOM. Now I need to look for shadow roots, recurse through those, set all of their children to tabindex=-1, and so on. Having a way to remove an entire tree from the tab order would be amazing. The proposed HTML inert attribute (https://html.spec.whatwg.org/multipage/interaction.html#inert-subtrees) could give me this functionality but it's not currently implemented anywhere.


Please use labels and text to provide additional information.

 
Labels: -Type-Bug Type-Feature
Cc: domenic@chromium.org
Components: Blink>HTML
Note that the spec section linked to details the inert concept, but there is no attribute for it in the spec. It sounds like the proposal is actually to have the inert="" attribute make a node *and all of its descendant nodes* inert, instead of being a direct mapping to the spec concept.

Previous spec discussion at https://www.w3.org/Bugs/Public/show_bug.cgi?id=24983.
Yes you've hit the nail on the head domenic :)

Comment 4 by tkent@chromium.org, Jun 10 2016

Status: ExternalDependency (was: Untriaged)
Blockedon: 692360

Sign in to add a comment