diff --git a/src/App.tsx b/src/App.tsx index a64beab..94e24bf 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -138,6 +138,7 @@ export default function App() { return (
+ {t('app.skipToChat')}
{/* Primary pane */} -
+
setSidebarOpen(!sidebarOpen)} activeSessionData={sessions.find(s => s.key === activeSession)} onLogout={logout} soundEnabled={soundEnabled} onToggleSound={toggleSound} messages={messages} agentAvatarUrl={agentIdentity?.avatar} />
Loading…
}> -
+ {/* Split divider + secondary pane */} {splitSession && ( <> @@ -166,7 +167,7 @@ export default function App() { role="separator" aria-orientation="vertical" /> -
+
{/* Secondary header */}
@@ -184,7 +185,7 @@ export default function App() {
Loading…
}> -
+ )}
diff --git a/src/components/ChatInput.tsx b/src/components/ChatInput.tsx index 74c31d8..1a10d79 100644 --- a/src/components/ChatInput.tsx +++ b/src/components/ChatInput.tsx @@ -304,6 +304,7 @@ export function ChatInput({ onSend, onAbort, isGenerating, disabled, sessionKey /> setOpen(!open)} className={`inline-flex items-center gap-1.5 rounded-2xl border px-3 py-1.5 text-xs hover:brightness-125 transition-all max-w-full ${cs.glow}`} style={{ ...cs.badge, ...cs.text }} + aria-expanded={open} + aria-label={`${name}${hint ? ` — ${hint}` : ''}: ${open ? 'collapse' : 'expand'} details`} > {getToolEmoji(name)} {name} diff --git a/src/lib/i18n.ts b/src/lib/i18n.ts index cb9ef37..65c474c 100644 --- a/src/lib/i18n.ts +++ b/src/lib/i18n.ts @@ -63,6 +63,9 @@ const en = { 'sidebar.close': 'Close sidebar', 'sidebar.clearSearch': 'Clear search', 'split.close': 'Close split view', + 'app.mainChat': 'Main chat', + 'app.splitPane': 'Split pane', + 'app.skipToChat': 'Skip to chat input', // Thinking 'thinking.label': 'Thinking', @@ -180,6 +183,9 @@ const fr: Record = { 'sidebar.close': 'Fermer la barre latérale', 'sidebar.clearSearch': 'Effacer la recherche', 'split.close': 'Fermer la vue scindée', + 'app.mainChat': 'Chat principal', + 'app.splitPane': 'Volet scindé', + 'app.skipToChat': 'Aller au champ de saisie', 'thinking.label': 'Réflexion', 'thinking.reasoning': 'Réflexion…',