Improve accessibility of Buttons in Webapp (#5432)
* Expose toggle buttons better via ARIA
* Wire up the divs/li as role=button as per ARIA patterns
* Add flow annotations to appease the linter
* For role=button use aria-pressed not aria-checked
Contributing all buttons in one place goes against the designs that we
set out at the beginning of the project's rewrite and that multiple of
us have been following since then.
feat(toolbox): implement buttons using ToolboxItem
Currently the following are implemented:
- AudioMuteButton
- HangupButton
- VideoMuteButton
In order to implement these new buttons a new abstract class was introduced,
which abstracts the ToolboxItem into a button with enough hooks so a stateful
and a stateless version of it can be created.
This patch only adds the stateful implementation of the aforementioned buttons.