inert
inert copied to clipboard
Spec: naming collision with `inert` as in `<template>`
This may cause confusion. Can we come up with a better term for this concept?
Options discussed elsewhere:
-
inaccessible
- in my opinion this is too difficult to type (as someone who types words related to "accessibility" a lot), and potentially misleadingly implies that this relates only to assistive technology. -
noninteractive
- also very long to type, but does accurately convey the concept. -
aria-inert
- definitely wrongly implies that this only relates to assistive technology, and also that it will be part of the ARIA spec, which it will not.
Any others?
If we adopt the proposal, we could change the "inert" term currently used. It seems better to let the attribute have the simple name, and the concept definition use something like 'non-interactive content'...
@chaals I don't quite see how that would avoid confusion with the other sense of inert though?
idle
is one synonym that actually gets the functionality correct. However, since the purpose of this discussion is on possible theoretical collision with existing stuff, idle is far more likely to be confused.
inactive
is another possibility, however falls into the same generic usage problem as idle
may already within specs.
The trouble with 'inert' is pretty simply that a lot of things happen in the browser and a sensible definition of 'intertness' can vary depending on the context. I know that there were desires to see inert in the sense that is means in templates being made available as an attribute - I'm not entirely sure how that could work as it wouldn't be backward compatible? Recently on my blog I created a concept of optional in-place videos and images that are only loaded with permission because they are fairly large. My first instinct, in all honesty, was to think 'ah, this is an inert image' - because it uses some of the definition of template's inert. It's just so vague at some level and honestly I was personally surprised to find that it was already in the HTML spec defined pretty close to what we've used.
That said, I've not got great ideas as to what is better beyond just clarifying the prose in template's definition and squatting on this as the one true inert attribute... I've said a number of times I wish I had something better as that isn't immediately appealing to me either, but it is something and something is better than nothing :)
A number of people have mentioned 'isn't that was tab index is - can we overload that somehow?' - I don't think that that's good either, but maybe it's on to something in the sense that tabindex is a property that every node has whether set or not and the attribute establishes interactivity -- maybe a governing attribute like interactive="false"
describes it pretty well and seems to generally make sense at first blush to me? I dunno, I'm reaching.
interactive="false"
is fugly. It would mean interactive="true"
should be a thing, and it isn't. Things are also active by default, since this is opting into a non-interactive state it should just be a simple boolean attribute just like disabled
and readonly
.
noninteractive
would be the preferred solution there. The polyfill from Google overloads the tabindex check iirc. It has its own set of tradeoffs compared to the WICG polyfill. In the end though, this needs to be handled in engines directly so developers don't need to carry the blunt of the work doing this in their applications. Especially as the specs get new stuff that needs to be accounted for.
However...
I was personally surprised to find that it was already in the HTML spec defined pretty close to what we've used.
Sounds like you think our definition of inert
is what you were doing for you photos and videos. Which in your case is actually not what you want. Since for the image/video placeholder's you still want them available to the accessibility system for navigation and user interaction. So that they can grant permission using the keyboard.
@Garbee I'm not sure what you mean by "our definition". Which one? I don't think either of them are what I was doing for photos and videos, that was simply me describing that in a different universe one could reasonably have suggested use the word "inert" in that context as well. In other words, if there are N features that can be thought of as 'inert' then it's quite plausible that the number of times you could bump into this is not limited to 2, but actually all the permutations of N.
That comment about videos had nothing to do with my surprise that HTML had used inert for describing dialogs. I was involved in the conversations for template inert and this never came up, that's why I was surprised there.
I'm also fine with noninteractive
but I have a hunch that you'd run into the same issues as folks being confused about inert
and template. Everything inside of a template is also "noninteractive". inert
and stuff-chilling-in-a-template
are very conceptually similar so it's hard to have a term that doesn't overlap with the other