Metadata
- Source
- FLUID-832
- Type
- Sub-task
- Priority
- Major
- Status
- Closed
- Resolution
- Fixed
- Assignee
- Anastasia Cheetham
- Reporter
- Michelle D'Souza
- Created
2008-06-26T18:47:05.000-0400 - Updated
2011-02-22T16:27:56.309-0500 - Versions
-
- 0.1
- 0.3
- 0.4beta1
- 0.4
- Fixed Versions
-
- 0.5beta1
- Component
-
- Inline Edit
Description
Environments
Safari 3.1.1
Attachments
Comments
-
Eli Cochran commented
2008-07-28T12:36:03.000-0400 Tests marked with asterisks fail in Safari:
7. InlineEdit Tests module: Keyboard Navigation Edit (3, 8, 11)
1. Display is tabbable
2. Initially display field is not focussed
3. After focus, display is focussed-
-
- 4. After enter pressed, display field is hidden ***
- 5. After enter pressed, edit field is visible ***
- 6. After enter pressed, edit field contains same text as display field expected: Click me to edit... actual: this is the hidden text for the first editor ***
7. After changing text and pressing enter, display field is visible
8. After changing text and pressing enter, display has focus style
9. After changing text and pressing enter, edit field is hidden
10. After changing text and pressing enter, display field contains new text: This is new text.
-
10. InlineEdit Tests module: Arrow Keys while Editing (5, 0, 5)
-
-
- 1. After enter pressed, display field is hidden ***
- 2. After enter pressed, edit field is visible ***
- 3. After enter pressed, edit field contains same text as display field expected: Click me to edit... actual: this is the hidden text for the first editor ***
- 4. After left-arrow pressed, display field is still hidden ***
- 5. After left-arrow pressed, edit field is still visible ***
-
-
-
Anastasia Cheetham commented
2008-08-12T13:07:15.000-0400 The tests that fail are the ones that use jqUnit's jquery.simulate() function.
-
Anastasia Cheetham commented
2008-08-12T15:15:47.000-0400 In Safari, simulate()'s call to document.createEvent("KeyEvents") (jquery.simulate.js line 81) causes a "NOT_SUPPORTED_ERR: DOM Exception 9" exception. It falls through to the catch clause, which tries document.createEvent("Events") (line 86).
The result of this is that the which field of the resulting event is not set in Safari.
The keyboard a11y plugin looks at the which field to decide whether or not to fire the activation handler (jquery.keyboard-a11y.js line 175), and since it's not set, it doesn't fire it. This is why the event simulation is not working properly.
One possible solution might be to modify the keyboard-a11y plugin to double-check the which field, and if it's not there, fall back to the keyCode or charCode.
-
Anastasia Cheetham commented
2008-08-12T16:03:19.000-0400 I'm attaching a patch file (FLUID-832.patch.txt) that does the previously-described double-check of evt.which
I'm not sure about the appropriateness of this approach, so I'm going to request a review before proceeding.
-
Anastasia Cheetham commented
2008-08-18T11:38:53.000-0400 I've filed this issue with jQuery UI: http://ui.jquery.com/bugs/ticket/3229
-
Anastasia Cheetham commented
2008-08-18T11:44:52.000-0400 Fixed. The code has a reference to the jQuery ticket, so that when it is resolved, we can revert back.
-
Michelle D'Souza commented
2011-02-22T16:27:56.308-0500 Closing issues that were resolved for 1.0 and earlier releases.