Alert: Avoid blanket use of `role="alert"`
The problem
As a consumer I may want to use the Alert component to create an informational callout but doesn't need to be announced as soon as the user loads the page. The Alert component currently uses the role="alert" ARIA attribute which carries with it implicitly aria-live="assertive" and aria-atomic="true" which may not be desired for each implementation of the Alert component, ie info.
The solution
Depending on the variant that is called for, info vs warning etc, the role="alert" could be applied as appropriate. The use of this role should be used sparingly and only when we need to convey information immediately to the user. Additionally, there is no need to have tabindex="0" on the container since it is not interactive and only interactive elements should be in the keyboard focus order.
Additional information ARIA: alert role | MDN
After a bit more research and testing, it turns out that having role=alert on an element that is present on page load does not get automatically announced with VoiceOver on Mac or NVDA on Windows. It does however get announced while using JAWS on Windows.
Ideally, this role should be used on elements that dynamically change that require the users attention. Typically, the use case is that a container has role=alert and is empty on page load and then only when something happens dynamically and content is added, then it gets immediately announced.
Additional resource: How to Use ARIA Alert Effectively