#27521 closed defect (bug) (fixed)
Theme Install Page is unusable via the keyboard
Reported by: | jorbin | Owned by: | nacin |
---|---|---|---|
Milestone: | 3.9 | Priority: | high |
Severity: | major | Version: | 3.9 |
Component: | Themes | Keywords: | has-patch commit |
Focuses: | accessibility, javascript | Cc: |
Description
While testing wp-admin/theme-install.php, navigating the page via the tab key makes the page completely unusable.
First things noted on initial testing:
.theme-navigation links are not actually links so you cannot focus on them.
When you are focused on a theme (divs with the theme class) and press tab, you are moved to the theme preview screen.
Attachments (20)
Change History (41)
#2
@
11 years ago
I still haven't touched the preview panel, bt the above patch takels much of the issues on the overview panel.
This ticket was mentioned in IRC in #wordpress-ui by nacin. View the logs.
11 years ago
#4
follow-up:
↓ 5
@
11 years ago
The above patch ( 27521.8.diff ) corrects all the issues I know about on the theme install screen. It doesn't do anything on the theme install details page.
One change that also affects the theme screen is that the action buttons are now focusable.
#5
in reply to:
↑ 4
@
11 years ago
Replying to jorbin:
One change that also affects the theme screen is that the action buttons are now focusable.
YAY!
#7
@
11 years ago
- Keywords has-patch added
27521.9.diff brings focus into the overlay and then puts it back on close. It copies some the existing pattern from theme management, but doesn't quite do it all (_.delay()
or a separate function for setting/containing focus). Not sure what the preference is here.
#8
@
11 years ago
Nice — quick mention that if we switch the Preview view back to the Details view we have in themes.php (updating the templates) we should get most of the work that went into keyboard accessibility for themes.php for free. I'll be tackling that soonish after finishing the other priority items if no one gets to that first.
#9
@
11 years ago
- Priority changed from highest omg bbq to high
- Severity changed from blocker to major
This page is much better now, and we have a plan of action for finishing it off, so I'm turning off the red.
This ticket was mentioned in IRC in #wordpress-dev by nacin. View the logs.
11 years ago
#11
follow-up:
↓ 12
@
11 years ago
Related to this, some nice things to have:
- Escape to close Preview / go back to sidebar if you are in iframe.
- Disable next/prev buttons when you reach an dead end.
- Contain focus to sidebar + preview.
#12
in reply to:
↑ 11
@
11 years ago
Replying to matveb:
Related to this, some nice things to have:
- Escape to close Preview / go back to sidebar if you are in iframe.
- Disable next/prev buttons when you reach an dead end.
- Contain focus to sidebar + preview.
Adding these incrementally for clarity; I can definitely seeing some code duplication that could be combined.
- 27521.15.diff: Escape to close Preview
- 27521.13.diff: Disable next/previous buttons when you reach (or start at) a dead end
This ticket was mentioned in IRC in #wordpress-dev by DH-Shredder. View the logs.
11 years ago
#14
@
11 years ago
Refreshed (since 27521.13.diff was no longer applying) and cleaned up 27521.15.diff and 27521.13.diff, and put them into: 27521.16.diff
Since I was testing them together, right now they're in the same patch. If a committer would rather apply them in separate commits, I can split them out again.
#16
@
11 years ago
- Owner set to nacin
- Resolution set to fixed
- Status changed from new to closed
In 28033:
#17
@
11 years ago
The overlay issue is not new. New ticket for post-3.9: #27705. A simple fix *could* be pulled in post RC for 3.9.
#19
follow-up:
↓ 21
@
11 years ago
Use Backbone events to handle keyups on Preview. Fix bugs with the current model state persisting after you opened-navigate-close the Preview. Also hard prevents previous theme from going into a loop.
$themeInstaller
could be preview.$el
instead if we were to pass it to the function.
#21
in reply to:
↑ 19
@
11 years ago
Oh, Backbone events - thats how to handle events! :)
I noticed you added ._once around the nextTheme call on key-right, it was left off for previousTheme/key-left; Unless there is a specific reason for leaving off, we may want to add that, see 27521.20.diff
Replying to matveb:
Use Backbone events to handle keyups on Preview. Fix bugs with the current model state persisting after you opened-navigate-close the Preview. Also hard prevents previous theme from going into a loop.
$themeInstaller
could bepreview.$el
instead if we were to pass it to the function.
First pass on this fixes the main issues on the overview page.
@todo the theme detail page doesn't work at all right now.