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

Replace <opacity-value> with <alpha-value> #403

Closed
jarek-foksa opened this issue Apr 1, 2018 · 7 comments
Closed

Replace <opacity-value> with <alpha-value> #403

jarek-foksa opened this issue Apr 1, 2018 · 7 comments

Comments

@jarek-foksa
Copy link

jarek-foksa commented Apr 1, 2018

Property Index makes use of <opacity-value> type which used to be defined in SVG 1.1 but is no longer defined in SVG 2 draft. I would propose to replace it with <number> | <percentage> type or <alpha-value> type which is defined by CSS Color Module Level 4.

@AmeliaBR
Copy link
Contributor

AmeliaBR commented Apr 1, 2018

I'm pretty sure we can directly reference the <alpha-value> type by reference, as a replacement for <opacity-value>. We've already made the change to allow percentages, to be consistent with CSS, this would just formalize it.

@dstorey dstorey closed this as completed in b342a46 May 2, 2018
dstorey added a commit that referenced this issue May 2, 2018
Fix #403 update opacity-value to alpha-value
@ewilligers ewilligers reopened this Nov 17, 2018
@ewilligers
Copy link
Contributor

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity - sample page.

Is there a browser implementation, or should this spec change be deferred from SVG 2.0?

ewilligers pushed a commit to ewilligers/web-platform-tests that referenced this issue Nov 17, 2018
Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
ewilligers pushed a commit to ewilligers/web-platform-tests that referenced this issue Nov 17, 2018
Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
@svgeesus
Copy link
Contributor

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity - sample page.

Is there a browser implementation, or should this spec change be deferred from SVG 2.0?

So on the one hand, this argues for deferring the change.

On the other hand, browsers don't accept it because SVG used to disallow it, and probably have to special case it; the change is made for CSS alignment, so it it better to leave it in the spec, file browser bugs, and put it at risk.

@fsoder
Copy link

fsoder commented Nov 19, 2018

To put it in perspective: how many browsers support/accept <alpha-value> for the opacity property?

@dirkschulze
Copy link
Contributor

Safari, Chrome and Firefox don't seem to support <alpha-value> for opacity.

ewilligers pushed a commit to ewilligers/web-platform-tests that referenced this issue Nov 21, 2018
Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
ewilligers added a commit to web-platform-tests/wpt that referenced this issue Nov 21, 2018
Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
@ewilligers
Copy link
Contributor

Blink/Edge/Firefox/Safari do not accept percentages for any of the opacity properties - test page

Blink and Firefox do accept percentage alpha in rgba() color values.

Raised CSS issue w3c/csswg-drafts#3342

moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Nov 29, 2018
Automatic update from web-platform-testsSVG Painting: property parsing (#14114)

Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
--

wpt-commits: e50224228f7629af05d08a50f36afbacfbd0158e
wpt-pr: 14114
xeonchen pushed a commit to xeonchen/gecko that referenced this issue Nov 29, 2018
Automatic update from web-platform-testsSVG Painting: property parsing (#14114)

Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
--

wpt-commits: e50224228f7629af05d08a50f36afbacfbd0158e
wpt-pr: 14114
@css-meeting-bot
Copy link
Member

The SVG Working Group just discussed Percentages for alpha values, and agreed to the following:

  • RESOLVED: Define syntax of SVG `*-opacity` properties by reference to the `opacity` property
The full IRC log of that discussion <AmeliaBR> Topic: Percentages for alpha values
<AmeliaBR> github: https://github.com//issues/403
<AmeliaBR> Eric: This was added, but no one has implemented it. Only numbers are accepted.
<AmeliaBR> Chris: The complication is that it isn't SVG-only. Also want to keep coordinated with the rest of CSS.
<AmeliaBR> Dirk: We used to define the value in our own data type; now we reference the CSS type, but that includes the unimplemented value.
<AmeliaBR> Eric: Can we follow up with implementers and see if they're interested in adding this?
<AmeliaBR> Myles: I think we could implement it, but not a high priority.
<AmeliaBR> Amelia: We're currently referencing a CSS-defined data type, correct? Can we do it in a way that defers to CSS to update the allowed values when the implementations are there?
<AmeliaBR> Dirk: I don't think so. CSS Level 3 didn't have a single name for that.
<AmeliaBR> Eric: It shouldn't be hard to implement.
<AmeliaBR> Dirk: Then please do so in Blink, and we won't have to have as much discussion!
<AmeliaBR> Dirk: Tav, what about Inkscape?
<AmeliaBR> Tav: I'm currently looking up how hard it would be.
<AmeliaBR> Amelia: My only opinion is that the allowed values should stay consistent with CSS for the opacity property. Whatever we need to do to make that happen.
<AmeliaBR> Dirk: Could we make normative text that just refers to whatever is valid for the opacity property?
<ericwilligers> See https://drafts.fxtf.org/fill-stroke/#fill-opacity
<AmeliaBR> Eric: Yes, that syntax exists. I think it's just `<opacity>` meaning, use the syntax for the opacity property.
<AmeliaBR> ... (pastes link above) that's what fill-opacity is defined as in Fill and Stroke module.
<AmeliaBR> RESOLVED: Define syntax of SVG `*-opacity` properties by reference to the `opacity` property
<AmeliaBR> Tav: What's the status of the opacity spec?
<AmeliaBR> Chris: It's in CSS Color. Parts of Color 4 are supported, but it's not expected to go to PR this year.
<AmeliaBR> Amelia: But important detail is that `opacity` already exists, with the more limited syntax (number only).
<AmeliaBR> Chris: Yes, so percentage support would hold up CSS Color advancing to rec, but not SVG.

@dirkschulze dirkschulze self-assigned this Dec 4, 2018
svgeesus pushed a commit that referenced this issue Dec 4, 2018
* Replace <alpha-value> with <'opacity'> value for *-opacity properties. #403

* Make it visually more clear that we reference the opacity property values as value for *-opacity properties.
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this issue Oct 3, 2019
Automatic update from web-platform-testsSVG Painting: property parsing (#14114)

Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
--

wpt-commits: e50224228f7629af05d08a50f36afbacfbd0158e
wpt-pr: 14114

UltraBlame original commit: 0818f88fb0cfb9216e37e2556fe85446e3e388e8
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this issue Oct 3, 2019
Automatic update from web-platform-testsSVG Painting: property parsing (#14114)

Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
--

wpt-commits: e50224228f7629af05d08a50f36afbacfbd0158e
wpt-pr: 14114

UltraBlame original commit: 0818f88fb0cfb9216e37e2556fe85446e3e388e8
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this issue Oct 3, 2019
Automatic update from web-platform-testsSVG Painting: property parsing (#14114)

Test that properties support the full grammar.
https://svgwg.org/svg2-draft/painting.html

The tests highlight a number of spec and implementation issues:-

Spec issues:

Blink/Edge/Firefox/Safari do not accept percentage fill-opacity/stroke-opacity
w3c/svgwg#403 (comment)

Browsers do not accept stroke-linejoin 'miter-clip' or 'arcs'
w3c/svgwg#592

Browsers accept numeric stroke-dashoffset and stroke-width
w3c/svgwg#534

Browser bugs:

Blink image-rendering does not accept 'optimizespeed' or 'optimizequality'
https://bugs.chromium.org/p/chromium/issues/detail?id=901669

Firefox rejects stroke-miterlimit less than 1
https://bugzilla.mozilla.org/show_bug.cgi?id=1508028

Edge serializes fill/stroke url() without quoting the url string.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/16900961/

Edge accepts misformed numbers fill-opacity: 1.; stroke-miterlimit: 1.; stroke-opacity: 1.;
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656838/

Edge accepts negative stroke-dasharray
Edge does not accept calc in stroke-dasharray
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656979/

Edge accepts negative stroke-width values
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19656907/

Safari accepts negative stroke-width
https://bugs.webkit.org/show_bug.cgi?id=191804

Safari serializes color-interpolation, color-rendering, image-rendering, shape-rendering, text-rendering in mixed case
https://bugs.webkit.org/show_bug.cgi?id=190685

Edge serializes paint-order 'normal' as 'fill', unlike other browsers.

Firefox does not use shortest paint-order serialization, instead it uses 2 keywords when 1 would suffice

Browsers yet to implement properties:

Firefox does not support color-rendering

Edge does not support color-interpolation/color-rendering/image-rendering/shape-rendering/text-rendering
Note: When implementing, the keywords should serialize in lower case.
https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/19328562/

Browsers yet to implement keywords:

Blink/Edge/Safari do not accept fill/stroke 'context-fill' or 'context-stroke'
Firefox does support the keywords: https://jsfiddle.net/ericwilligers/8bhyafe1/
--

wpt-commits: e50224228f7629af05d08a50f36afbacfbd0158e
wpt-pr: 14114

UltraBlame original commit: 0818f88fb0cfb9216e37e2556fe85446e3e388e8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants