Closed
Bug 256003
Opened 20 years ago
Closed 20 years ago
Remove -moz-user-focus from html.css, forms.css, ua.css. It's been deprecated from use in HTML.
Categories
(Core :: DOM: UI Events & Focus Handling, defect, P1)
Core
DOM: UI Events & Focus Handling
Tracking
()
RESOLVED
FIXED
People
(Reporter: martijn.martijn, Assigned: aaronlev)
References
(Blocks 1 open bug)
Details
Attachments
(2 files, 1 obsolete file)
808 bytes,
text/html
|
Details | |
8.82 KB,
patch
|
bryner
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8a3) Gecko/20040724 Firefox/0.9.1+
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8a3) Gecko/20040724 Firefox/0.9.1+
With the testcase (which I'll submit), it should be possible to focus the text,
either by tabbing through the document or clicking on the text.
A red focus outline should occur.
But this doesn't happen anymore.
This used to work in:
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8a3) Gecko/20040724
Firefox/0.9.1+
But it doesn't work anymore in:
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8a3) Gecko/20040726
Firefox/0.9.1+
Maybe the first patch for bug 250006 is the cause for this?
Reproducible: Always
Steps to Reproduce:
1. Visit testcase
2. Try focusing the span by clicking on the text or tabbing through document.
3.
Actual Results:
Not possible, no red focus outline is visible.
Expected Results:
It should have shown a red focus outline.
Reporter | ||
Comment 1•20 years ago
|
||
Assignee | ||
Comment 2•20 years ago
|
||
It looks like I broke -moz-user-focus for HTML (still works for XUL). However,
I'm not sure that I want to fix it since the new way we have for making
arbitrary elements focusable is better:
http://www.mozilla.org/projects/ui/accessibility/tabindex.html
The problem with using mozilla-specific CSS is:
1. It doesn't work in IE, which the tabindex solution does.
2. It doesn't allow for items that are focusable but not in the tab order
3. CSS shouldn't affect the behavior of an element, the standards guys tell me
Reporter | ||
Comment 3•20 years ago
|
||
Ok, fine by me. The tabindex solution seems indeed a better solution.
Some (constructive) remarks/questions/criticism:
> 1. It doesn't work in IE, which the tabindex solution does.
Good point.
> 2. It doesn't allow for items that are focusable but not in the tab order
I don't understand what you're trying to say here, did you mean something like
this: It does allow for items to be focusable, but you can't influence the tab
order? That would be a good point.
> 3. CSS shouldn't affect the behavior of an element, the standards guys tell me
Being able to set display:none (which makes elements unfocusable, by the way) is
just as much a behavior thing to me.
What I don't like is that this makes it a case where a css property only applies
to one particular language. I don't like language specific css.
Assignee | ||
Comment 4•20 years ago
|
||
(In reply to comment #3)
> > 2. It doesn't allow for items that are focusable but not in the tab order
> I don't understand what you're trying to say here, did you mean something like
> this: It does allow for items to be focusable, but you can't influence the tab
> order? That would be a good point.
Well, also there are some items that you want to be able to focus via .focus()
in script, but not have in the tab order.
An example: if you implement a tree view, you don't want each item of the tree
view in the tab order. The entire tree view gets tabbed to, and then the user
should be able to use the arrow keys to change focus on the tree items within that.
>
> > 3. CSS shouldn't affect the behavior of an element, the standards guys tell me
> Being able to set display:none (which makes elements unfocusable, by the way) is
> just as much a behavior thing to me.
>
> What I don't like is that this makes it a case where a css property only applies
> to one particular language. I don't like language specific css.
Well, I only argue with the standards guys when I have the energy to do so.
Anyway, the tabindex solution works but we'll keep this bug open to get
-moz-user-focus working again.
Reporter | ||
Comment 5•20 years ago
|
||
I was thinking, Mozilla also uses the -moz-user-focus css property in html.css
and some other stuff:
http://lxr.mozilla.org/seamonkey/search?string=moz-user-focus
So these css rules for HTML are now broken, I guess (although it doesn't seem to
cause much trouble?)?
Assignee | ||
Comment 6•20 years ago
|
||
Martin, it causes 1 known problem: bug 255569
Assignee | ||
Comment 7•20 years ago
|
||
(In reply to comment #5)
> I was thinking, Mozilla also uses the -moz-user-focus css property in html.css
> and some other stuff:
> http://lxr.mozilla.org/seamonkey/search?string=moz-user-focus
Right, we can now remove the use of -moz-user-focus from our html-related css
files. They don't do anything anymore.
For content authors, the recommended technique is at www.mozilla.org/access/tabindex
Assignee | ||
Updated•20 years ago
|
Blocks: focusnav
Summary: -moz-user-focus not working anymore? → Remove -moz-user-focus from html.css, forms.css, ua.css. It's been deprecated from use in HTML.
Reporter | ||
Comment 8•20 years ago
|
||
another thought: the tabindex method doesn't contain a way to make an element
unfocusable, like "-moz-user-focus:ignore;", right? (at least that's the
impression I get from bug 253391)
Assignee | ||
Comment 9•20 years ago
|
||
(In reply to comment #8)
> another thought: the tabindex method doesn't contain a way to make an element
> unfocusable, like "-moz-user-focus:ignore;", right? (at least that's the
> impression I get from bug 253391)
What's a real world scenario where you want to do that? I don't want to
encourage inaccessibility.
Anyway, I really don't know why you'd want to do it, but you could:
<input type="text" tabindex="-1" onfocus="this.blur();">dahaha</a>
The tabindex = "-1" would remove it from the tab cycle and the blur() would
prevent the click-to-focus behavior. So, it can still be done.
Reporter | ||
Comment 10•20 years ago
|
||
(In reply to comment #9)
> What's a real world scenario where you want to do that? I don't want to
> encourage inaccessibility.
Well, I don't know of any. It just struck me as a difference between
-moz-user-focus and tabindex (although -moz-user-focus is not working well for
the value 'ignore' anyway). I guess the disabled attribute is more or less an
equivalent for -moz-user-focus:ignore (or the script way you mentioned).
I haven't tested this patch.
By the way, I'm seeing remarks like this in Mozilla's source which aren't true
anymore:
http://lxr.mozilla.org/seamonkey/source/content/base/public/nsIContent.h#452
(well, they are true, but not according to css3)
Assignee | ||
Comment 12•20 years ago
|
||
Are you seeking reviews for this bug? If so, use the review requestor feature
under edit patch. Also, feel free to make any comment fixes part of your patch.
Reporter | ||
Comment 13•20 years ago
|
||
Ok, done.
I thought you could review, that's why I didn't seek review. Also, because I
haven't tested this. But I guess, since it already is not working anymore,
testing it isn't necessary.
Attachment #158421 -
Attachment is obsolete: true
Reporter | ||
Updated•20 years ago
|
Attachment #158856 -
Flags: review?(bryner)
Updated•20 years ago
|
Attachment #158856 -
Flags: review?(bryner) → review+
Assignee | ||
Updated•20 years ago
|
Priority: -- → P1
Reporter | ||
Comment 14•20 years ago
|
||
I can't check this in. someone else needs to check this in. Aaron?
Assignee | ||
Comment 15•20 years ago
|
||
(In reply to comment #14)
> I can't check this in. someone else needs to check this in. Aaron?
We need superreview, and we need to wait until the tree opens again (it's frozen
for 1.8a4).
When that happens we can check it in at the same time as bug 255569.
Anyway, see if you can get superreview+ for it.
Reporter | ||
Comment 16•20 years ago
|
||
Comment on attachment 158856 [details] [diff] [review]
Same as previous, but with comment fixes in nsIContent.h
Ok, a supperreview it is. It certainly sounds exciting :)
Attachment #158856 -
Flags: superreview?(roc)
Comment on attachment 158856 [details] [diff] [review]
Same as previous, but with comment fixes in nsIContent.h
Is there some reason why you think these rules are no longer necessary?
- -moz-user-focus: none !important;
Assignee | ||
Comment 18•20 years ago
|
||
Robert, -moz-user-focus isn't used in HTML anymore. We implement the focus and
tab navigation rules via nsIFrame::IsFocusable() and and
nsIContent::IsFocusable() where we have better control over them. This allows us
to do things like make only the currently selected HTML radio button focusable,
unless there is no selected radio button in the group, in which case they're all
focusable. There are other complexities to the rules that we can't support in CSS.
Attachment #158856 -
Flags: superreview?(roc) → superreview+
Comment 19•20 years ago
|
||
Shouldn't this be checked in?
Assignee | ||
Comment 20•20 years ago
|
||
Checking in content/base/public/nsIContent.h;
/cvsroot/mozilla/content/base/public/nsIContent.h,v <-- nsIContent.h
new revision: 3.100; previous revision: 3.99
done
Checking in layout/style/forms.css;
/cvsroot/mozilla/layout/style/forms.css,v <-- forms.css
new revision: 3.96; previous revision: 3.95
done
Checking in layout/style/html.css;
/cvsroot/mozilla/layout/style/html.css,v <-- html.css
new revision: 3.185; previous revision: 3.184
done
Checking in layout/style/ua.css;
/cvsroot/mozilla/layout/style/ua.css,v <-- ua.css
new revision: 3.216; previous revision: 3.215
done
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Comment 21•20 years ago
|
||
layout/html/document/src/forms.css
removal of -moz-user-focus: normal; for <input> and <textarea> caused
Bug 279496 can´t copy or paste in <input> and <textarea>
I reinserted -moz-user-focus: normal; in the first two places and it seems to work.
As I don´t understand what I fixed, the whole thing should be looked about.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Reporter | ||
Comment 22•20 years ago
|
||
I'm sorry I broke this. I don't really understand why this is happening, so I
guess it is best to back out the patch?
Depends on: 279496
Comment 23•20 years ago
|
||
I reopened in comment 21, now I´m setting 'fixed' again, as regression is fixed in
Bug 279496 can´t copy or paste in <input> and <textarea>
Status: REOPENED → RESOLVED
Closed: 20 years ago → 20 years ago
Resolution: --- → FIXED
Updated•16 years ago
|
Flags: in-testsuite-
Updated•6 years ago
|
Component: Keyboard: Navigation → User events and focus handling
You need to log in
before you can comment on or make changes to this bug.
Description
•