For the purpose of selectors in STYLE blocks of a WebVTT file, the style sheet must apply to a hypothetical document that contains a single empty element with no explicit name, no namespace, no attributes, no classes, no IDs, and unknown primary language, that acts like the media element for the text tracks that were sourced from the given WebVTT file. The selectors must not match other text tracks for the same media element. In this hypothetical document, the element must not match any selector that would match the element itself.
This would mean that selectors such as *:not([attr])::cue would match, which doesn't seem very useful. Labeling the originating element as "featureless" instead would simplify the implementation of the spec because it wouldn't require recursing down the selector list to verify that the selector matches the originating element. If the element were featureless, only selectors with an implicit tag would match the originating element.
The current spec reads:
This would mean that selectors such as *:not([attr])::cue would match, which doesn't seem very useful. Labeling the originating element as "featureless" instead would simplify the implementation of the spec because it wouldn't require recursing down the selector list to verify that the selector matches the originating element. If the element were featureless, only selectors with an implicit tag would match the originating element.