| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>CSS Selectors: Attribute selectors</title> |
| <link rel="help" href="https://drafts.csswg.org/selectors-3/#attribute-selectors"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/css/support/parsing-testcommon.js"></script> |
| <script> |
| // Attribute presence and value selectors |
| test_valid_selector('[att]'); |
| test_valid_selector('[att=val]', '[att="val"]'); |
| test_valid_selector('[att~=val]', '[att~="val"]'); |
| test_valid_selector('[att|=val]', '[att|="val"]'); |
| test_valid_selector('h1[title]'); |
| test_valid_selector("span[class='example']", 'span[class="example"]'); |
| test_valid_selector('a[hreflang=fr]', 'a[hreflang="fr"]'); |
| test_valid_selector("a[hreflang|='en']", 'a[hreflang|="en"]'); |
| |
| // Substring matching attribute selectors |
| test_valid_selector('[att^=val]', '[att^="val"]'); |
| test_valid_selector('[att$=val]', '[att$="val"]'); |
| test_valid_selector('[att*=val]', '[att*="val"]'); |
| test_valid_selector('object[type^="image/"]'); |
| test_valid_selector('a[href$=".html"]'); |
| test_valid_selector('p[title*="hello"]'); |
| |
| // From Attribute selectors and namespaces examples in spec: |
| test_valid_selector('[*|att]'); |
| test_valid_selector('[|att]', '[att]'); |
| </script> |