- From: Oriol Brufau via GitHub <sysbot+gh@w3.org>
- Date: Tue, 03 Nov 2020 14:52:37 +0000
- To: public-css-archive@w3.org
Loirooriol has just created a new issue for https://github.com/w3c/csswg-drafts: == Should CSS.supports() accept !important in the 2nd argument? == According to https://drafts.csswg.org/css-conditional-3/#the-css-namespace, - `CSS.supports(conditionText)` > 1. If `conditionText`, parsed and evaluated as a `<supports-condition>`, would return `true`, return `true`. > 2. Otherwise, If `conditionText`, wrapped in parentheses and then parsed and evaluated as a `<supports-condition>`, would return `true`, return `true`. > 3. Otherwise, return `false`. Therefore, and according to #5559, we should have ```js CSS.supports("background: green !important"); // true ``` as all Chromium, WebKit and Firefox already do. - `CSS.supports(property, value)` > 1. If `property` is an ASCII case-insensitive match for any defined CSS property that the UA supports, and `value` successfully parses according to that property’s grammar, return `true`. > 2. Otherwise, if `property` is a custom property name string, return `true`. > 3. Otherwise, return `false`. I don't think `!important` is part of the property’s grammar, so I would expect ```js CSS.supports("background", "green !important"); // false ``` However, accepting `!important` in the single argument case, but rejecting it in the 2 arguments one, can seem inconsistent. And we don't have interoperability here: Firefox and Chromium return `false`, but WebKit returns `true`. Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/5692 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Tuesday, 3 November 2020 14:52:39 UTC