diff --git a/src/frontend/apps/impress/src/features/docs/doc-editor/components/AI/AIMenu.tsx b/src/frontend/apps/impress/src/features/docs/doc-editor/components/AI/AIMenu.tsx index f1f51ce9..a624dfed 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-editor/components/AI/AIMenu.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-editor/components/AI/AIMenu.tsx @@ -194,6 +194,25 @@ export const AIMenu = (props: AIMenuProps) => { return t('Ask anything...'); }, [aiResponseStatus, t]); + const ariaLiveMessage = useMemo(() => { + if (aiResponseStatus === 'thinking') { + return t('AI is thinking'); + } + if (aiResponseStatus === 'ai-writing') { + return t('AI is writing'); + } + if (aiResponseStatus === 'user-reviewing') { + return t('AI response ready for review'); + } + if (aiResponseStatus === 'error') { + return t('AI request failed'); + } + + return ''; + }, [aiResponseStatus, t]); + + const ariaLiveMode = aiResponseStatus === 'error' ? 'assertive' : 'polite'; + const IconInput = useMemo(() => { if (aiResponseStatus === 'thinking') { return ; @@ -256,6 +275,9 @@ export const AIMenu = (props: AIMenuProps) => { return ( + + {ariaLiveMessage} +