CSS :any-link selector
The `:any-link` CSS pseudo-class matches all elements that match `:link` or `:visited`
Case-insensitive CSS attribute selectors
Including an `i` before the `]` in a CSS attribute selector causes the attribute value to be matched in an ASCII-case-insensitive manner. For example, `[b="xyz" i]` would match both `<a b="xyz">` and `<a b="XYZ">`.
::first-letter CSS pseudo-element selector
CSS pseudo-element that allows styling only the first "letter" of text within an element. Useful for implementing initial caps or drop caps styling.
selector list argument of :not()
Selectors Level 3 only allowed `:not()` pseudo-class to accept a single simple selector, which the element must not match any of. Thus, `:not(a, .b, [c])` or `:not(a.b[c])` did not work. Selectors Level 4 allows `:not()` to accept a list of selectors. Thus, `:not(a):not(.b):not([c])` can instead be written as `:not(a, .b, [c])` and `:not(a.b[c])` works as intended.
selector list argument of :nth-child and :nth-last-child CSS pseudo-classes
The newest versions of `:nth-child()` and `:nth-last-child()` accept an optional `of S` clause which filters the children to only those which match the selector list `S`. For example, `:nth-child(1 of .foo)` selects the first child among the children that have the `foo` class (ignoring any non-`foo` children which precede that child). Similar to `:nth-of-type`, but for arbitrary selectors instead of only type selectors.
CSS :read-only and :read-write selectors
:read-only and :read-write pseudo-classes to match elements which are considered user-alterable
CSS 2.1 selectors
Basic CSS selectors including: `*` (universal selector), `>` (child selector), `:first-child`, `:link`, `:visited`, `:active`, `:hover`, `:focus`, `:lang()`, `+` (adjacent sibling selector), `[attr]`, `[attr="val"]`, `[attr~="val"]`, `[attr|="bar"]`, `.foo` (class selector), `#foo` (id selector)
Advanced element selection using selectors including: `[foo^="bar"]`, `[foo$="bar"]`, `[foo*="bar"]`, `:root`, `:nth-child()`, `:nth-last-child()`, `:nth-of-type()`, `:nth-last-of-type()`, `:last-child`, `:first-of-type`, `:last-of-type`, `:only-child`, `:only-of-type`, `:empty`, `:target`, `:enabled`, `:disabled`, `:checked`, `:not()`, `~` (general sibling)
::selection CSS pseudo-element
The ::selection CSS pseudo-element applies rules to the portion of a document that has been highlighted (e.g., selected with the mouse or another pointing device) by the user.
Directory selection from file input
The `webkitdirectory` attribute on the `<input type="file">` element allows entire directory with file contents (and any subdirectories) to be selected.
Multiple file selection
Allows users to select multiple files in the file picker.
Selection controls for input & textarea
Controls for setting and getting text selection via `setSelectionRange()` and the `selectionStart` & `selectionEnd` properties.
Method of accessing DOM elements using CSS selectors
API for accessing selected content of a document, including the `window.getSelection()` method, as well as the `selectstart` & `selectionchange` events on `document`.
CSS user-select: none
Method of preventing text/element selection using CSS.
selection api: addrange
selection api: collapse
selection api: extend
selection api: modify
selection api: tostring
selection api: type
css selector: `:active`
css selector: `:blank`
css selector: `::cue`
css selector: `:defined`
css selector: `:empty`
css selector: `:enabled`
css selector: `:focus`
css selector: `:future`
css selector: `:host`
css selector: `:host()`
css selector: `:hover`
css selector: `:lang()`
css selector: `:link`
css selector: `:modal`
css selector: `:muted`
css selector: `::part`
css selector: `:past`
css selector: `:paused`
css selector: `:playing`
css selector: `:root`
css selector: `:scope`
css selector: `:seeking`
css selector: `:target`
css selector: `:valid`
css selector: `:where()`
html element: select