Open Bug 615026 Opened 14 years ago Updated 2 years ago

Tab-modal prompts should respect OS X Full Keyboard Access setting?

Categories

(Toolkit :: General, defect)

x86
macOS
defect

Tracking

()

Tracking Status
blocking2.0 --- -

People

(Reporter: Dolske, Unassigned)

References

Details

+++ This bug was initially created as a clone of Bug #613760 +++

From bug 613760 comment 7:

------------

Created attachment 493179 [details]
dialog focus and defaults

dolske said to comment here, but I might need to file separate bugs for focus.
I've attached screenshots of the window-modal dialogs for alert, confirm, and
prompt as well as tab-modal dialogs on the right.

I'm using the os x preference "Full Keyboard Access" that allows buttons to be
focused.

window-modal:
alert: default = OK, focus = prevent additional checkbox
confirm: default = OK, focus = cancel [couldn't get the checkbox to appear]
prompt: default = OK, focus = textbox [no checkbox]

tab-modal:
alert: default = OK, focus = OK
confirm: default = OK, focus = OK
prompt: default = none?, focus = textbox

I would expect the default to always be set on OK. And the textbox for the
prompt to be focused. Questionable for the checkbox on alert and confirm
though..

------------


So, I think the current (as of the patch in that bug) window-modal and tab-modal prompts are doing the expected thing on OS X when Full Keyboard Access (OS X Options --> Keyboard --> Keyboard (tab) --> FKA) is set to the default setting ("Textboxes and lists only"). Correct me if I'm wrong.

But when changed to "All controls", items in the window-modal prompts are focused which were not focused before. [I think FF3.6 and FF4.0 are consistent from a quick skim, so we didn't regress anything.] Tab-modal prompts do not show any changes.

The question is what we should to with tab-modal prompts when this setting changes. A few options:

1) Do nothing. :)
2) Make OS X tab-modal prompts get the same focused element as the window-modal prompt would have.
2) Make all platforms work the same, since the idea is that these are content prompts and not OS prompts.

#2 would, I think, just mean picking up code similar to what dialog.xml :: focusInit() does.

#3 would, I think, just mean having the prompt work as on Windows, where the default button is always focused (Full Keyboard Access ignored?) [unless there's a textbox present, but that already works.]


I think I lean towards #3. See also discussion in bug 437296.
[Ugh, cloning inherits the blocking flag. Not sure if this needs to block.]
blocking2.0: final+ → ?
I'd prefer #2. I don't see a reason not to make the OK button default in prompts, and assigning focus and default to the same control is just wasted opportunity.
If the confirm prompt captures focus (well, tab focus), while the user is typing, isn't it better to default to the cancel button instead of ok?
I'm fine with making all the platforms behave in the same way, I just think that it should probably be:

tab-modal:
alert: default = OK, focus = Cancel
confirm: default = OK, focus = Cancel
prompt: default = OK, focus = textbox
blocking2.0: ? → -
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.