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}
+