This PR implements improvements following an accessibility sweep of the home page, and includes the following fixes and improvements:
significant reworking of the carousel's tab handling; it now handles switching between slides by tab graciously regardless of the content.
addition of aria labels and corrections to existing aria labels.
the media text component can now take an optional alt prop in lieu of (or in addition to) the title, with at least one of them being required.
The headers in the rich menus are adjusted to better match the hierarchy.
tab outlines are fixed for the main menu.
Ids that could be duplicated have been removed. In the case of the search bar, we could not remove the id at this stage (because it is tied to downstream functionality) but we are now selectively rendering the mobile and desktop menu to prevent the duplicate id. To facilitate this selective rendering, we have added a breakpoints hook that allows us to apply Bootstrap-like media queries on the TypeScript side. This breakpoints hook may proof to be a generally useful utility.
Description
This PR implements improvements following an accessibility sweep of the home page, and includes the following fixes and improvements: