Closed Bug 203734 Opened 17 years ago Closed 15 years ago

OS X: xul buttons no longer display focus in aqua/classic theme

Categories

(Core Graveyard :: GFX: Mac, defect, P2)

PowerPC
macOS
defect

Tracking

(Not tracked)

VERIFIED FIXED
mozilla1.8beta3

People

(Reporter: bugzilla, Assigned: mano)

References

Details

(4 keywords, Whiteboard: relnote needed: comment 11. fixed for 10.4 and above)

Attachments

(1 file)

buttons in XUL (pref panels, account wizard, etc) no longer display the focus
ring when they are in focus. they still activate, however.

this regressed btwn 2003.04.04.09 (works fine) and 2003.04.09.10 (broken) builds.

0. make sure you're using the aqua/classic theme.
1. open up a sheet or window that has a xul button, eg, Navigator pref panel,
account setup wizard, etc.
2. hit the tab key to move focus.

results: the focus ring is displayed for textfields (caret, really), checkboxes
and radiobuttons. when focus is on a button, no focus ring is displayed.
Wasn't this done deliberately in bug 197094 to fix bug 162877?
hmmm...brian?
Keywords: access
adt: nsbeta1-
Keywords: nsbeta1nsbeta1-
Keywords: helpwanted
Still confirmed in Mozilla 1.7rc2 on Mac OS X 10.3.4 with default theme.
This is a serious accessibility problem IMHO, can something be done about it?
bug74058 and bug175279 may depend.
Assignee: shliang → sfraser_bugs
Component: Themes → GFX: Mac
QA Contact: pmac
Flags: blocking1.8b?
Too late for 1.8b1, but this seems like it may be something that should block 1.8b2.
Flags: blocking1.8b?
Flags: blocking1.8b2?
Flags: blocking1.8b-
Assignee: sfraser_bugs → joshmoz
QA Contact: mac
Note to self: Need to check if push buttons' focus ring (from HITheme/Appearance
Manager) is less buggy in Tiger.
Flags: blocking1.8b3?
Flags: blocking1.8b2?
Flags: blocking1.8b2-
OK, that OS bug is fixed on 10.4
Assignee: joshmoz → bugs.mano
Priority: -- → P2
Target Milestone: --- → mozilla1.8beta3
Status: NEW → ASSIGNED
Keywords: helpwanted
Comment on attachment 185143 [details] [diff] [review]
enable push buttons focus ring on 10.4 and above

> PRBool
>-nsRenderingContextMac::OnJaguar()
>+nsRenderingContextMac::OnJaguarOrLater()
> {
>   static PRBool sInitVer = PR_FALSE;
>-  static PRBool sOnJaguar = PR_FALSE;
>+  static PRBool sOnJaguarOrLater = PR_FALSE;
>   if (!sInitVer) {
>     long version;
>     OSErr err = ::Gestalt(gestaltSystemVersion, &version);
>-    sOnJaguar = (err == noErr && version >= 0x00001020);
>+    sOnJaguarOrLater = (err == noErr && version >= 0x00001020);

I'd prefer braces here to make the precedence clearer:

      sOnJaguarOrLater = ((err == noErr) && (version >= 0x00001020));

>+
>+PRBool
>+nsRenderingContextMac::OnTigerOrLater()
>+{
>+  static PRBool sInitVer = PR_FALSE;
>+  static PRBool sOnTigerOrLater = PR_FALSE;
>+  if (!sInitVer) {
>+    long version;
>+    OSErr err = ::Gestalt(gestaltSystemVersion, &version);
>+    sOnTigerOrLater = (err == noErr && version >= 0x00001040);

Ditto.
Attachment #185143 - Flags: superreview?(sfraser_bugs) → superreview+
(In reply to comment #8)
> OK, that OS bug is fixed on 10.4

since this will remain an issue on OS X 10.3 and earlier, this should be
relnoted for those earlier OS's. also see bug 242831 comment 23.

Keywords: relnote
Comment on attachment 185143 [details] [diff] [review]
enable push buttons focus ring on 10.4 and above

Looks good.  But I couldn't find any place to test this on the trunk; none of
the buttons seem to be focusable in any of the XUL dialogs.
Attachment #185143 - Flags: review?(jhpedemonte) → review+
Attachment #185143 - Flags: approval1.8b3? → approval1.8b3+
Checking in nsImageMac.cpp;
/cvsroot/mozilla/gfx/src/mac/nsImageMac.cpp,v  <--  nsImageMac.cpp
new revision: 1.78; previous revision: 1.77
done
Checking in nsNativeThemeMac.cpp;
/cvsroot/mozilla/gfx/src/mac/nsNativeThemeMac.cpp,v  <--  nsNativeThemeMac.cpp
new revision: 1.39; previous revision: 1.38
done
Checking in nsRenderingContextMac.cpp;
/cvsroot/mozilla/gfx/src/mac/nsRenderingContextMac.cpp,v  <-- 
nsRenderingContextMac.cpp
new revision: 1.164; previous revision: 1.163
done
Checking in nsRenderingContextMac.h;
/cvsroot/mozilla/gfx/src/mac/nsRenderingContextMac.h,v  <--  nsRenderingContextMac.h
new 
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Flags: blocking1.8b2-
Flags: blocking1.8b-
Resolution: --- → FIXED
Whiteboard: relnote needed: comment 11. fixed for 10.4 and above
vrfy'd fixed with 2005060807-trunk deer park build on OS X 10.4.1. thanks for
fixing this, Mano!
Status: RESOLVED → VERIFIED
Flags: blocking1.8b3?
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.