| <!DOCTYPE html> |
| <link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#prefers-contrast" /> |
| <script type="text/javascript" src="/resources/testharness.js"></script> |
| <script type="text/javascript" src="/resources/testharnessreport.js"></script> |
| |
| <script type="text/javascript" src="resources/matchmedia-utils.js"></script> |
| <script> |
| query_should_be_css_parseable("(prefers-contrast)"); |
| query_should_be_css_parseable("(prefers-contrast: no-preference)"); |
| query_should_be_css_parseable("(prefers-contrast: more)"); |
| query_should_be_css_parseable("(prefers-contrast: less)"); |
| |
| query_should_not_be_css_parseable("(prefers-contrast: increase)"); |
| query_should_not_be_css_parseable("(prefers-contrast: none)"); |
| query_should_not_be_css_parseable("(prefers-contrast: forced high)"); |
| query_should_not_be_css_parseable("(prefers-contrast: forced low)"); |
| query_should_not_be_css_parseable("(prefers-contrast > increase)"); |
| query_should_not_be_css_parseable("(prefers-increased-contrast)"); |
| query_should_not_be_css_parseable("(prefers-decreased-contrast)"); |
| query_should_not_be_css_parseable("(prefers-contrast: high)"); |
| query_should_not_be_css_parseable("(prefers-contrast: low)"); |
| query_should_not_be_css_parseable("(prefers-contrast: forced)"); |
| |
| query_should_be_js_parseable("(prefers-contrast)"); |
| query_should_be_js_parseable("(prefers-contrast: no-preference)"); |
| query_should_be_js_parseable("(prefers-contrast: more)"); |
| query_should_be_js_parseable("(prefers-contrast: less)"); |
| |
| query_should_not_be_js_parseable("(prefers-contrast: increase)"); |
| query_should_not_be_js_parseable("(prefers-contrast: none)"); |
| query_should_not_be_js_parseable("(prefers-contrast: forced high)"); |
| query_should_not_be_js_parseable("(prefers-contrast: forced low)"); |
| query_should_not_be_js_parseable("(prefers-contrast > increase)"); |
| query_should_not_be_js_parseable("(prefers-increased-contrast)"); |
| query_should_not_be_js_parseable("(prefers-decreased-contrast)"); |
| query_should_not_be_js_parseable("(prefers-contrast: high)"); |
| query_should_not_be_js_parseable("(prefers-contrast: low)"); |
| query_should_not_be_js_parseable("(prefers-contrast: forced)"); |
| |
| test(() => { |
| // no-preference is the default and all other values evaluate to |
| // true in the boolean context. If no-preference matches, then |
| // boolean context should be false. If no-preference does not match |
| // then boolean context should be true. Therefore, these two values |
| // should always be each others inverse irrespective of OS level |
| // settings. |
| let booleanContext = window.matchMedia("(prefers-contrast)"); |
| let noPref = window.matchMedia("(prefers-contrast: no-preference)"); |
| assert_equals(noPref.matches, !booleanContext.matches); |
| }, "Check boolean context evaluation."); |
| </script> |