diff --git a/pkg/spec/src/web-runtime.ts b/pkg/spec/src/web-runtime.ts index b705e42..1cddb0a 100644 --- a/pkg/spec/src/web-runtime.ts +++ b/pkg/spec/src/web-runtime.ts @@ -143,6 +143,49 @@ function secureSelector(value: string): string { return `:is(input${textInput}, textarea, [contenteditable]:not([contenteditable="false"]))`; } +// The other five boolean states are derived from the live element too, and +// matching them as an attribute reached nothing at all: `[clickable="true"]` is +// a match no page carries, the key is accepted so no unknown-key error fires, +// and a spec naming a control that way, as the worked example in +// docs/manual/spec-language.md does, finds none and passes having checked +// nothing. They are answered against the element rather than compiled into CSS +// because no CSS says what any of them says: `:focus` names the shadow HOST of a +// focused field as well, and never the field Compose keeps behind its caret, +// `:checked` misses a checked custom element and answers for a selected