Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add forced-colors #1651

Merged
merged 6 commits into from
Sep 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions features/forced-colors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Forced colors
description: The `forced-colors` CSS @media rule detects when a user has chosen to use a forced colors mode, also known as high-contrast mode, and the `forced-color-adjust` CSS property sets whether forced colors apply to an element.
spec:
- https://drafts.csswg.org/mediaqueries-5/#forced-colors
- https://drafts.csswg.org/css-color-adjust-1/#forced-color-adjust-prop
group: css
status:
compute_from: css.at-rules.media.forced-colors
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you use the feature without forced-color-adjust? It seems that merely detecting forced colors mode without being able to change it wouldn't be useful.
I wonder if we should just remove the compute_from rule here.

Copy link
Collaborator Author

@jamesnw jamesnw Sep 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can use it without forced-color-adjust. For example, you can add a border to a button if it otherwise gets styles from box-shadow, which is removed in forced colors mode. So, the at rule was functional before forced-color-adjust was added.

compat_features:
- css.at-rules.media.forced-colors
- css.properties.forced-color-adjust
- css.properties.forced-color-adjust.auto
- css.properties.forced-color-adjust.none
- css.properties.forced-color-adjust.preserve-parent-color
45 changes: 45 additions & 0 deletions features/forced-colors.yml.dist
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Generated from: forced-colors.yml
# Do not edit this file by hand. Edit the source file instead!

status:
baseline: low
baseline_low_date: 2022-09-12
support:
chrome: "89"
chrome_android: "89"
edge: "79"
firefox: "89"
firefox_android: "89"
safari: "16"
safari_ios: "16"
compat_features:
# ⬇️ Same status as overall feature ⬇️
# baseline: low
# baseline_low_date: 2022-09-12
# support:
# chrome: "89"
# chrome_android: "89"
# edge: "79"
# firefox: "89"
# firefox_android: "89"
# safari: "16"
# safari_ios: "16"
- css.at-rules.media.forced-colors

# baseline: false
# support:
# chrome: "89"
# chrome_android: "89"
# edge: "79"
# firefox: "113"
# firefox_android: "113"
- css.properties.forced-color-adjust
- css.properties.forced-color-adjust.auto
- css.properties.forced-color-adjust.none

# baseline: false
# support:
# chrome: "106"
# chrome_android: "106"
# edge: "106"
- css.properties.forced-color-adjust.preserve-parent-color