Hovering over a link in SVG shows the text pointer instead of the link (hand) pointer
Reported by
t...@tobireif.com,
May 9 2018
|
||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36 Steps to reproduce the problem: 1. Open https://tobireif.com/demos/bubbles/ . 2. Hover of the link "© 2000 Tobi Reif". What is the expected behavior? The link pointer (the hand/glove) should be shown. What went wrong? The text pointer is shown. Did this work before? N/A Does this work in other browsers? Yes Chrome version: 66.0.3359.139 Channel: stable OS Version: OS X 10.13.4 Flash Version: Both Firefox and Safari show the correct pointer.
,
May 9 2018
Issue 841141 has been merged into this issue.
,
May 9 2018
Issue 841142 has been merged into this issue.
,
May 9 2018
Thanks for merging. There were several server errors, so I had to keep on trying to submit the issue (not knowing that the server did accept each report).
,
May 9 2018
Yepp, I've been getting quite a bit of them as well (possibly leaving one of the dupes in some form of limbo state... =/)
,
May 9 2018
https://chromium.googlesource.com/chromium/src/+/53a46aede88dac4189a493f1e6eb30868aa17929 changed the code to not show any anchor indicator at all for SVG text in the example. The standard mouse pointer remains on the anchor and we see the text selection bar over the text. Then, https://chromium.googlesource.com/chromium/src/+/74ef53b06b1e1f1e775371296c3457f54a2b9eba fixed the issue with cursor:auto to make it show an Ibeam. The SVG behavior differs from other browsers for sure, but maybe this is intentional. In that case, the spec is bad and we should try to change it.
,
May 9 2018
Can you link the part of the spec you're referring to?
,
May 9 2018
The original change references this spec: https://drafts.csswg.org/css-ui-3/#cursor That's all I know. :-)
,
May 9 2018
"the spec is bad and we should try to change it" Where do the SVG or CSS specs say that the pointer should be an "Ibeam" when it's hovering over an SVG "a" element?
,
May 9 2018
The default specified by CSS is "auto": "The UA determines the cursor to display based on the current context, specifically: auto behaves as text over selectable text or editable elements, and default otherwise." Yes it is text, but it is linked, and both Firefox and Safari show the correct link pointer (the hand or glove). That is sensible, useful, important for usability, and does not violate the spec.
,
May 9 2018
"The SVG behavior differs from other browsers for sure" It should not.
,
May 9 2018
I don't think the cursor should be Ibeam on SVG link element. The spec means when cursor is set to "auto", it should be IBeam on text otherwise; and default cursor selection should be set by UA stylesheet. I think we should have the cursor set somewhere in svg.css. Sorry I didn't aware there is a separate style file for svg elements when I landed the change.
,
May 9 2018
I don't CSS UI is relevant here - it merely defines what/how the various 'cursor' values mean/behave. The various "vocabularies" (HTML, SVG, ...) would need to define defaults via UA style sheet or similar - HTML does this, but SVG does not. (And thus I suppose that SVG inline in HTML would - per spec - match the UA style rules from HTML. We don't implement those verbatim though AFAIK.) I don't know if either of the previous behavior or the change in behavior was intended. I suspect that Safari has the same behavior as Blink before the above change, while it looks like Firefox has a "*|*:any-link" rule in the UA style. Personally I would support restoring our "old" behavior despite the lack of (full) spec support. We can still raise an issue on the (SVG) spec though of course.
,
May 9 2018
Chrome renders the link pointer when the pointer is hovering over linked text. It should do the same in SVG. Please fix this. Thanks in advance.
,
May 9 2018
(All the server errors meant that I hadn't seen several of the latest posted comments before I posted comment #14. In any case, I'm glad that it seems that we agree that the pointer should always be rendered as link-pointer when hovering over a linked area eg text.)
,
May 9 2018
Don't worry, we all agree that the behavior should change. We're trying to figure out the best way to fix it, and guess at how the other browsers do it. And if we need to make the world a better place by making the spec explicit, then we'll try that too.
,
May 9 2018
I submitted this spec ticket: https://github.com/w3c/csswg-drafts/issues/2664 "[css-ui-3] Require link-pointer when pointer is over a link" (Feel free to add comments.)
,
May 9 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ba76ad04876222b10876aa0e0bd073d230d22b6e commit ba76ad04876222b10876aa0e0bd073d230d22b6e Author: Ella Ge <eirage@chromium.org> Date: Wed May 09 20:02:45 2018 add link element cursor style to svg stylesheet Set cursor:pointer for link element on svg.css Bug: 841146 Change-Id: Idebace4d6ec4f3bd4b65ea12a52213289ebbf69e Reviewed-on: https://chromium-review.googlesource.com/1052213 Reviewed-by: Fredrik Söderquist <fs@opera.com> Commit-Queue: Ella Ge <eirage@chromium.org> Cr-Commit-Position: refs/heads/master@{#557288} [modify] https://crrev.com/ba76ad04876222b10876aa0e0bd073d230d22b6e/third_party/blink/renderer/core/css/svg.css
,
May 9 2018
We had some discussion about the definition of "auto" here: https://github.com/w3c/csswg-drafts/issues/1598
,
May 9 2018
Thanks all!
,
May 10 2018
Able to reproduce the issue on mac 10.13.3 using chrome build without fix. Verified the fix on Mac 10.13.3, Win-10 and Ubuntu 17.10 using Chrome version #68.0.3426.0 as per the comment #0. Attaching screen cast for reference. Observed that a link pointer (the hand/glove) is shown as expected. Hence, the fix is working as expected. Adding the verified labels. Thanks...!!
,
May 12 2018
Update from https://github.com/w3c/csswg-drafts/issues/2664 : "Agenda+ to get confirmation from the CSSWG that the addition of that sentence is OK: UAs must apply cursor: pointer to hyperlinks for all supported document formats via the UA stylesheet, using a normal (i.e. not !important) declaration."
,
Jun 7 2018
Update: https://github.com/w3c/csswg-drafts/issues/2664 : https://github.com/w3c/csswg-drafts/commit/fc83249fefcf5872b24d83b7523ddc6fd38897e4 css-ui-4 " + Unless otherwise specified, + UAs must apply ''cursor: pointer'' to hyperlinks + for all supported document formats + via the <a lt="User Agent Origin">UA stylesheet</a>, + using a normal (i.e. not <a>!important</a>) declaration. " " + <li>Require the ''cursor/pointer'' cursor for hyperlinks in all document formats " |
||||
►
Sign in to add a comment |
||||
Comment 1 by f...@opera.com
, May 9 2018Status: Available (was: Unconfirmed)