Open Bug 320533 Opened 19 years ago Updated 2 years ago

When scrolling w/ keyboard arrows, the cursor is hidden but still hovers links etc (hidden cursors shouldn't fire events)

Categories

(Core :: Layout, defect)

PowerPC
macOS
defect

Tracking

()

People

(Reporter: hwaara, Unassigned)

References

Details

This might as well be a bug in the cocoa widget code, move as needed.

If you scroll up/down with the keyboard arrows, the pointer is hidden. Even though it's hidden, it still selects links when they are hovered over.

Steps to reproduce:

1. Find some document on the web with lots of links.
2. Scroll down with the down arrow on the keyboard.
3. See how the links are "activated" when they are hovered over, even though the pointer is invisible.
Is this a bug?
Well, do you want to fire off CSS :hover and mouseOver stuff even if the cursor is invisible?

As far as I remember, this is not done on Windows or Linux.
(In reply to comment #2)
> As far as I remember, this is not done on Windows or Linux.
> 

On Windows, in FF (1.5) and IE (6), the cursor isn't even hidden, so that's not really a basis for comparison. In addition, Safari doesn't hide the cursor when scrolling either. I'm not sure what we compare this too, but I don't see any problem with links being clickable when the cursor is hidden.
(In reply to comment #3)
> (In reply to comment #2)
> > As far as I remember, this is not done on Windows or Linux.
> > 
> 
> On Windows, in FF (1.5) and IE (6), the cursor isn't even hidden, so that's not
> really a basis for comparison. In addition, Safari doesn't hide the cursor when
> scrolling either. I'm not sure what we compare this too, but I don't see any
> problem with links being clickable when the cursor is hidden.
> 

Both Safari and FF on Mac OS X hides the cursor. Note that I'm only talking about the case when scrolling with the keyboard arrows.  

Safari also sends mouse events to links and whatnot when the cursor is hidden, however I still think this is a bug.
Clarifying summary a bit.
Summary: Pointer selects links even when hidden → When scrolling keyboard arrows, the cursor is hidden but still hovers links etc
Summary: When scrolling keyboard arrows, the cursor is hidden but still hovers links etc → When scrolling w/ keyboard arrows, the cursor is hidden but still hovers links etc
I actually prefer our behaviour here as far as hiding the cursor during scrolling.
Whether or not we should be firing hovers and mouseovers with the cursor hidden is another issue, though. I would suggest we don't, but it may be complicated to detect whether scrolling is actively taking place (or if the cursor is currently hidden).

cl
This is how Macs work.  The idea is that if you're using the keyboard, you're not using the mouse, so the pointer hides.  It's one of those subtle things that makes Macs suck less, and that makes this WONTFIX.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → WONTFIX
or INVALID.  I don't care.
I'll all on board with hiding the cursor when the keyboard's in use, but it still seems that when you're using the kybd and the cursor is hidden (but left somewhere in the content area), the hidden cursor shouldn't be firing events--since you're not using the cursor.  I suppose with Safari doing it, too, we're ok, but I agree with Håkan that it's a bug.
Reopening becaue on irc mark said he didn't read closely enough before wontfixing, and he agrees that hidden cursors shouldn't be firing events.

The problem might be that it looks like the Core devs think firing hover, etc., when using they kybd is the right thing to do: see https://bugzilla.mozilla.org/show_bug.cgi?id=20022#c81 and eventual resolution of the bug.

They prolly don't hide the cursor on their platforms, which is fine, but on platforms where the cursor is hidden (Mac), we shouldn't fire events, since the cursor is not actually in use.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Assignee: mikepinkerton → nobody
Status: REOPENED → NEW
QA Contact: general
Summary: When scrolling w/ keyboard arrows, the cursor is hidden but still hovers links etc → When scrolling w/ keyboard arrows, the cursor is hidden but still hovers links etc (hidden cursors shouldn't fire events)
The platform and product for this bug should be reconsidered, as this affects Firefox/SeaMonkey on Linux, too.
(In reply to comment #12)
> The platform and product for this bug should be reconsidered, as this affects
> Firefox/SeaMonkey on Linux, too.

Do applications on Linux normally hide the cursor when scrolling?
(In reply to comment #13)
> Do applications on Linux normally hide the cursor when scrolling?

Yes, both GTK2 and QT apps hide the cursor when the keyboard is active.
The other question is where does the buggy code live...is it in layout or shared widget code, or is it in platform-specific widget code?

If it's the latter, you'll need a new bug for Linux; otherwise, we can move this somewhere.  mento, josh, smfr, hwaara, any of you have any ideas?
Even though I haven't looked at the code, if this bug is cross-platform, I bet layout needs to be fixed to check whether the cursor is visible (via a new widget API) before processing cursor-specific code. I think this is a gecko/layout bug.
Going ahead and moving this to Core based on my hunch, but if you're convinced otherwise, feel free to move it back.
Component: General → Layout
Product: Camino → Core
QA Contact: general → layout
This is particularly annoying on, say, marketwatch.com, where if you've happened to have left your mouse pointer sit where scrolling with the keyboard will cause it to cross over/sit on a stock symbol, you get a giant popup div of the stock chart, etc., which can obscure the view of the text you were reading....
Severity: minor → S4
You need to log in before you can comment on or make changes to this bug.