Intended audience: users, XHTML/HTML coders (using editors or scripting), script developers (PHP, JSP, etc.), CSS coders, Web project managers, and anyone who wants to know how selectors work with regards to Unicode normalization.
Updated
These tests user agents normalize away the differences between selector names and class names, and multiple selector names in the same CSS file when there are differences in Unicode normalization.
Note that although normalization makes sense, current CSS specifications do NOT require selectors and class names to be normalized prior to matching.
Normalization is important for many languages, where users using different tools can produce the same text but with different mixtures of precomposed, decomposed and partially composed characters. It is particularly an issue if different people author the CSS and the document content. For example, some Vietnamese input methods produce NFC output, but Microsoft keyboards under XP produce unnormalized output where tone marks are separate combining characters but diacritics that differentiate letters are composed with their base character.
To see the test, click on the link in the left-most column. To see detailed results for a single test, click on a row and look just above the table. The detailed results show the date(s) the test result was recorded, and the version of the browser tested.
Any dependencies are shown in notes above the table, and notes below the table will usually provide any additional useful information, including an explanation of why a result was marked as 'partially successful'.
Key:
pass | fail | partially successful |
Links to run tests | Assertions | Gecko Firefox | Blink Chrome | Blink Opera | Webkit Safari | Legacy Edge |
---|---|---|---|---|---|---|
markup precomposed, CSS precomposed selectors-normalization-001.html |
[Exploratory test] A fully precomposed class name will match a fully precomposed CSS selector name. | pass | pass | pass | pass | pass |
markup decomposed, CSS decomposed selectors-normalization-002.html |
[Exploratory test] A fully decomposed class name will match a fully decomposed CSS selector name. | pass | pass | pass | pass | pass |
Notes
Links to run tests | Assertions | Gecko Firefox | Blink Chrome | Blink Opera | Webkit Safari | Legacy Edge |
---|---|---|---|---|---|---|
markup decomposed, CSS precomposed selectors-normalization-003.html |
[Exploratory test] A fully decomposed class name will NOT match a fully precomposed CSS selector name. | pass | pass | pass | pass | pass |
markup precomposed, CSS decomposed selectors-normalization-004.html |
[Exploratory test] A fully precomposed class name will NOT match a fully decomposed CSS selector name. | pass | pass | pass | pass | pass |
markup partially decomposed, CSS precomposed selectors-normalization-005.html |
[Exploratory test] A partially decomposed class name will NOT match a fully precomposed CSS selector name. | pass | pass | pass | pass | pass |
markup partially decomposed, CSS decomposed selectors-normalization-006.html |
[Exploratory test] A partially decomposed class name will NOT match a fully decomposed CSS selector name. | pass | pass | pass | pass | pass |
markup precomposed, CSS partially decomposed selectors-normalization-007.html |
[Exploratory test] A partially decomposed CSS selector name will NOT match a fully precomposed class name. | pass | pass | pass | pass | pass |
markup decomposed, CSS partially decomposed selectors-normalization-008.html |
[Exploratory test] A partially decomposed CSS selector name will NOT match a fully decomposed class name. | pass | pass | pass | pass | pass |
Spec links for this table: link