[Glitch] Allow alerts ("toasts") to be announced by assistive tech
Port 4ee21a6c14e97a7f8ccbab22a1de5e91dae4f042 to glitch-soc Signed-off-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
parent
b46babae1e
commit
5c8858acd4
@ -53,6 +53,7 @@ export const Alert: React.FC<{
|
||||
className='notification-bar__action'
|
||||
onClick={onActionClick}
|
||||
type='button'
|
||||
aria-hidden='true'
|
||||
>
|
||||
{action}
|
||||
</button>
|
||||
|
||||
@ -11,6 +11,7 @@ import type {
|
||||
} from 'flavours/glitch/models/alert';
|
||||
import { useAppSelector, useAppDispatch } from 'flavours/glitch/store';
|
||||
|
||||
import { A11yLiveRegion } from './a11y_live_region';
|
||||
import { Alert } from './alert';
|
||||
|
||||
const formatIfNeeded = (
|
||||
@ -75,12 +76,8 @@ const TimedAlert: React.FC<{
|
||||
export const AlertsController: React.FC = () => {
|
||||
const alerts = useAppSelector((state) => state.alerts);
|
||||
|
||||
if (alerts.length === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className='notification-list'>
|
||||
<A11yLiveRegion className='notification-list'>
|
||||
{alerts.map((alert, idx) => (
|
||||
<TimedAlert
|
||||
key={alert.key}
|
||||
@ -88,6 +85,6 @@ export const AlertsController: React.FC = () => {
|
||||
dismissAfter={5000 + idx * 1000}
|
||||
/>
|
||||
))}
|
||||
</div>
|
||||
</A11yLiveRegion>
|
||||
);
|
||||
};
|
||||
|
||||
@ -10184,6 +10184,10 @@ noscript {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
|
||||
&:empty {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.notification-bar {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user