зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1658780 - Update the prefers-contrast media query to use the new more/less keywords r=emilio
Per the resolution here: https://github.com/w3c/csswg-drafts/issues/2943#issuecomment-672994920 Differential Revision: https://phabricator.services.mozilla.com/D86848
This commit is contained in:
Родитель
33a78c310f
Коммит
d1653ccb9a
|
@ -9,7 +9,7 @@
|
|||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
@media (prefers-contrast: high) {
|
||||
@media (prefers-contrast: more) {
|
||||
div {
|
||||
outline: 2px solid #000000;
|
||||
}
|
||||
|
|
|
@ -281,7 +281,7 @@ StyleContrastPref Gecko_MediaFeatures_PrefersContrast(
|
|||
// https://github.com/w3c/csswg-drafts/issues/3856#issuecomment-642313572
|
||||
// https://github.com/w3c/csswg-drafts/issues/2943
|
||||
if (!!LookAndFeel::GetInt(LookAndFeel::IntID::UseAccessibilityTheme, 0)) {
|
||||
return StyleContrastPref::High;
|
||||
return StyleContrastPref::More;
|
||||
}
|
||||
return StyleContrastPref::NoPreference;
|
||||
}
|
||||
|
|
|
@ -74,9 +74,9 @@ expectParseable("(-moz-os-version: windows-win8)");
|
|||
expectParseable("(-moz-os-version: windows-win10)");
|
||||
expectNonParseable("(-moz-os-version: )");
|
||||
|
||||
expectParseable("(prefers-contrast: low)")
|
||||
expectParseable("(prefers-contrast: more)")
|
||||
expectParseable("(prefers-contrast: forced)")
|
||||
expectParseable("(prefers-contrast: no-preference)")
|
||||
expectParseable("(prefers-contrast: high)");
|
||||
expectParseable("(prefers-contrast: less)");
|
||||
expectParseable("(prefers-contrast)")
|
||||
</script>
|
||||
|
|
|
@ -313,8 +313,8 @@ fn eval_prefers_reduced_motion(device: &Device, query_value: Option<PrefersReduc
|
|||
#[repr(u8)]
|
||||
#[allow(missing_docs)]
|
||||
enum PrefersContrast {
|
||||
High,
|
||||
Low,
|
||||
More,
|
||||
Less,
|
||||
NoPreference,
|
||||
Forced,
|
||||
}
|
||||
|
@ -326,12 +326,11 @@ enum PrefersContrast {
|
|||
#[derive(Clone, Copy, Debug, FromPrimitive, PartialEq)]
|
||||
#[repr(u8)]
|
||||
pub enum ContrastPref {
|
||||
/// High contrast is prefered. Corresponds to an accessibility theme
|
||||
/// More contrast is prefered. Corresponds to an accessibility theme
|
||||
/// being enabled or firefox forcing high contrast colors.
|
||||
High,
|
||||
/// Low contrast is prefered. Corresponds to the
|
||||
/// browser.display.prefers_low_contrast pref being true.
|
||||
Low,
|
||||
More,
|
||||
/// Low contrast is prefered.
|
||||
Less,
|
||||
/// The default value if neither high or low contrast is enabled.
|
||||
NoPreference,
|
||||
}
|
||||
|
@ -344,8 +343,8 @@ fn eval_prefers_contrast(device: &Device, query_value: Option<PrefersContrast>)
|
|||
if let Some(query_value) = query_value {
|
||||
match query_value {
|
||||
PrefersContrast::Forced => forced_colors,
|
||||
PrefersContrast::High => contrast_pref == ContrastPref::High,
|
||||
PrefersContrast::Low => contrast_pref == ContrastPref::Low,
|
||||
PrefersContrast::More => contrast_pref == ContrastPref::More,
|
||||
PrefersContrast::Less => contrast_pref == ContrastPref::Less,
|
||||
PrefersContrast::NoPreference => contrast_pref == ContrastPref::NoPreference,
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
<script>
|
||||
query_should_be_css_parseable("(prefers-contrast)");
|
||||
query_should_be_css_parseable("(prefers-contrast: no-preference)");
|
||||
query_should_be_css_parseable("(prefers-contrast: high)");
|
||||
query_should_be_css_parseable("(prefers-contrast: low)");
|
||||
query_should_be_css_parseable("(prefers-contrast: more)");
|
||||
query_should_be_css_parseable("(prefers-contrast: less)");
|
||||
query_should_be_css_parseable("(prefers-contrast: forced)");
|
||||
|
||||
query_should_not_be_css_parseable("(prefers-contrast: increase)");
|
||||
|
@ -18,11 +18,13 @@ 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_be_js_parseable("(prefers-contrast)");
|
||||
query_should_be_js_parseable("(prefers-contrast: no-preference)");
|
||||
query_should_be_js_parseable("(prefers-contrast: high)");
|
||||
query_should_be_js_parseable("(prefers-contrast: low)");
|
||||
query_should_be_js_parseable("(prefers-contrast: more)");
|
||||
query_should_be_js_parseable("(prefers-contrast: less)");
|
||||
query_should_be_js_parseable("(prefers-contrast: forced)");
|
||||
|
||||
query_should_not_be_js_parseable("(prefers-contrast: increase)");
|
||||
|
@ -32,6 +34,8 @@ 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)");
|
||||
|
||||
test(() => {
|
||||
// no-preference is the default and all other values evaluate to
|
||||
|
|
Загрузка…
Ссылка в новой задаче