We should create a HTML
role="toolbar" widget with focus management as specified here:
A basic toolbar would just be a list of buttons, but we will need additional flexibility for:
- Using plain
div elements for styling purposes.
role="group" to group buttons.
- Managing focus when buttons are added or removed (see the addon buttons and overflow button in the Spaces toolbar).
The Spaces toolbar handles a lot of this for itself, but it could be moved into a more abstract widget. Or if we find we want different implementations, we could use a controller class for the focus management (similar to
SelectionWidgetController in bug 1752532).
We might also want to look at the WAI example: https://www.w3.org/WAI/ARIA/apg/example-index/toolbar/toolbar.html
We could then replace some of the xul:toolbar elements with our HTML widget. This can be used to finally bring keyboard controls to these areas. I'll set this as blocking for any existing bugs in this area since this seems like a good solution for them.
We could also use it for the address book contact actions bar ("Write", "Event", "Search", "Edit").