Closed Bug 136041 Opened 23 years ago Closed 17 years ago

Accesskey fires when within visibility:hidden or display:none elements (does not fire in IE)

Categories

(Core :: DOM: UI Events & Focus Handling, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: ggb.mzl, Unassigned)

References

Details

Attachments

(2 files)

From Bugzilla Helper: User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:0.9.9+) Gecko/20020406 BuildID: 2002040608 I have a script that starts with a number of DIV sections positioned to the same screen location (all within the same TABLE <TD></TD> section). Each of these DIV sections is selectively (depending upon required state) hidden or visible, with only one of them visible at one time. 1) Although all 3 of the <DIV> sections starts as visible, but the onLoad event invokes a function that switches 2 of the DIV sections to hidden. On IE5.5 and Opera, the <TD> section width is set to the width of the widest of the DIV sections. With Mozilla, the <TD> section (as shown by background colour of associated with the <TD> section) is set the width of the DIV section that remains visible after loadeding. When this DIV section is later hidden, and another DIV section becomes visible, the new DIV section is larger than the <TD> section in which it is contained. 2) The DIV sections contain links, and these links have ACCESSKEY keyboard shortcuts set. These shortcuts invoke links, even where the links are hidden. 3) When DIV sections are switched between hidden and visible, it invokes an error in the CHROME. I have disabled the viewing of CHROME errors, but this still causes a blank error screen to be displayed. Reproducible: Always Steps to Reproduce: 1.Invoke HTML document. 2.Click on 'Add New Group' 3.Press Alt/U key combination (this should invoke 'Update' function, but that function is missing from the dispolayed screen, and should not be invoked at this time. If you require a copy of the HTML (it is quite complex, and I have not had time to create a stripped down version of the script to highlight the specific problems) then let me know. You can reach me on ggb.mzl@bolgar.co.uk
The attached file is a zip file containing the source code (several interelated files) which I was developing that caused the initial problem to occur.
(Note: A small testcase would help expedite the triage process -- see http://www.damowmow.com/mozilla/css-testing.html ...for hints on writing useful test cases.)
Keywords: qawanted
Am I missing something? I do "add new group". The display changes. I do Alt-U. I get an alert. The rendering looks fine throughout. Could you please provide a clear reproduction scenario (possibly with screenshots)? Could you provide something resembling a testcase?
The problem is that the alert you are getting is perfectly valid execution of the code for ALT/U, but that the element to which ALT/U is associated has its CSS visibility attribute set to 'hidden', and as such you are using a keyboard shortcut to something that is (correctly) inaccessible through the screen interface. I would assume that when you cannot click on an element, you should also not be able to use a keyboard shortcut to the element. This, by the way, is exactly what IE5.5 does (i.e. ALT/U is only functioning when the associated element is visible on the screen). If you wish to see a situation where the ALT/U should be legal, then perform the following actions: Click on 'Add New Group' Enter some text in the text field (e.g. 'zzzzzz') Click on 'Add to List' You should now see the 'Update' link rendered on the screen, and in this context I should consider it legal to be able to use ALT/U.
Ah. OK. So this is an accesskey problem. Resummarizing so and assigning to keyboard navigation. George, if there are other problems here than the accesskey issue, please file separate bugs on them (one bug per problem), as they are somewhat likely to belong to different components...
Assignee: jst → aaronl
Status: UNCONFIRMED → NEW
Component: DOM Style → Keyboard Navigation
Ever confirmed: true
Keywords: qawanted
OS: Windows NT → All
QA Contact: ian → sairuh
Hardware: PC → All
Summary: CSS visibility switched between hidden/visible → accesskey in visibility:hidden div fires (does not fire in IE)
Blocks: atfmeta
Severity: normal → minor
Status: NEW → ASSIGNED
Priority: -- → P5
Target Milestone: --- → mozilla1.2alpha
Gilbert, can you take this one?
Assignee: aaronl → gilbert.fang
Status: ASSIGNED → NEW
okay, i will take it
Attached file New testcase
This bug was noted today on the CSS-Discuss list with the observation that the accesskey will also work when within an element styled display:none. This testcase reflects both display:none and visibility:hidden elements.
Tweaking summary to match testcase. Also, the current target milestone (1.2a) is badly out of date now.
Summary: accesskey in visibility:hidden div fires (does not fire in IE) → Accesskey fires when within visibility:hidden or display:none elements (does not fire in IE)
I don't think this is a bug. Actually, IE's beahvior is un-intuitive. If an author is using scripts to show/hide elements he should also enable/disable accesskeys on those elements or child elements through scripts, if he so wishes. To automatically disable an accesskey just because its related item is not visible is not expected UI behavior. For example: An online application might use a drop-down menu system for navigation on all its pages. Some of the menu options could have accesskeys attached so that users might activate those links through a key combination instead of a couple of clicks (one to open the menu and one to activate the menu option). No OS on no platform that I know requires users to open menus in order to activate a menu through a key combination. The whole point is not to open the menu. 'Fixing this bug' would actually make Mozilla LESS accessible.
I understand what you are saying with regard to drop down menus, but hiding sections of the screen have much wider application than simply hiding sub-menus. I was looking at using for overlaid panels (similar to the Java does its card layout), and in this context there could be far too many fields to be constantly switching accesskeys on each of them in a practical manner - even more of a problem is that it would not be possible to create generic functions that switched between sub-screens that were not customised to each sub-screen. Nor is the issue with menu's as straight forward as you make out. If I open Word for Windows, although Ctrl/N will always open a new document, if I wish to close a document, I have to type Alt/F and C, because although the Close function has a hot key of 'C', this is only local to the File menu, and it has no global shortcut. So the question is whether you are trying to emulate the functionality of the global shortcuts (with the Ctrl key) or the hot keys (using the Alt key functionality). It would also be intolerable, whichever solution were chosen, it would be intolerable if it only worked on one browser and not another. In the absence of any W3C directive, it seems IE has set a de-facto standard.
Blocks: fox3key
Assignee: gilbert.fang → nobody
Severity: minor → normal
Priority: P5 → --
QA Contact: bugzilla → keyboard.navigation
Target Milestone: mozilla1.2alpha → ---
I can no longer reproduce the access keys firing using Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9) Gecko/2008052906 Firefox/3.0. Is any of this still valid? If not, please close as "Worksforme".
As far as I can see the problem has not so much been fixed as avoided by creating a wider problem - accesskeys simply do not work at all now in FireFox, so the fact that they worked wrong seems unimportant if they do not work at all.
(In reply to comment #13) > As far as I can see the problem has not so much been fixed as avoided by > creating a wider problem - accesskeys simply do not work at all now in FireFox, > so the fact that they worked wrong seems unimportant if they do not work at > all. Can you be more specific? I use access keys all the time successfully. Where do they not work for you? Note that Firefox 3 introduces the Alt+Shift+<accesskey> key combination to avoid menu bar key conflicts.
Sorry, I had not realised the change in accesskey usage. Taking that into account, I see no change on FireFox 2.0, but do not have 3.0 here (I hear it will be available on 17th June)
OK, have downloaded FireFox 3.0, and you seem to be correct, the problem seems to have been fixed.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Resolution: FIXED → WORKSFORME
Attachment #78113 - Attachment mime type: application/octet-stream → application/zip
Component: Keyboard: Navigation → User events and focus handling
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: