Closed Bug 253391 Opened 20 years ago Closed 20 years ago

Elements with tabindex="-1" should be focusable even though not in tab order

Categories

(SeaMonkey :: Find In Page, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: aaronlev, Assigned: aaronlev)

Details

(Keywords: access)

Attachments

(1 file)

I originally misread
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/tabindex.asp

"An element can have focus if the tabIndex property is set to any valid negative
or positive integer."

So an item like <span tabindex="-1"> should be able to receive focus via
.focus() even though it's not in the tab order. Any negative value will do that.

MSDN also says "The following elements can have focus by default but are not tab
stops. These elements can be set as tab stops by setting the tabIndex property
to a positive integer. applet, div, frameSet, span, table, td."

However, they don't appear to implement that correctly. A td or table can
receive focus by default but a div or span can't. So I'm not sure what to do, be
conistent and follow the MSDN docs or follow IE's undocumented quirks. It
probably wouldn't hurt to make any div or span focusable by default. Still
thinking about that part.
Attachment #154556 - Flags: review?(bryner)
Attachment #154556 - Flags: review?(bryner) → review+
Attachment #154556 - Flags: superreview?(jst)
Comment on attachment 154556 [details] [diff] [review]
1) If tabindex explictly set we're always focusable, 2) If tabindex explicitly set we're always exposed in accessibility hierarchy

sr=jst
Attachment #154556 - Flags: superreview?(jst) → superreview+
Checking in content/base/src/nsGenericElement.cpp;
/cvsroot/mozilla/content/base/src/nsGenericElement.cpp,v  <--  nsGenericElement.cpp
new revision: 3.343; previous revision: 3.342
done
Checking in content/html/content/src/nsGenericHTMLElement.cpp;
/cvsroot/mozilla/content/html/content/src/nsGenericHTMLElement.cpp,v  <-- 
nsGenericHTMLElement.cpp
new revision: 1.530; previous revision: 1.529
done
Checking in content/xul/content/src/nsXULElement.cpp;
/cvsroot/mozilla/content/xul/content/src/nsXULElement.cpp,v  <--  nsXULElement.cpp
new revision: 1.531; previous revision: 1.530
done
Checking in accessible/src/base/nsAccessibilityService.cpp;
/cvsroot/mozilla/accessible/src/base/nsAccessibilityService.cpp,v  <-- 
nsAccessibilityService.cpp
new revision: 1.114; previous revision: 1.113
done
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Product: Core → SeaMonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: