From cc3904f0262ce0148328910d159e56c41ec6358a Mon Sep 17 00:00:00 2001 From: Tommaso Sciortino Date: Tue, 21 Oct 2025 17:39:49 -0700 Subject: [PATCH] Add aria labels to Todo list display (#11621) --- .../cli/src/ui/components/messages/Todo.tsx | 41 +++++++++++++------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/packages/cli/src/ui/components/messages/Todo.tsx b/packages/cli/src/ui/components/messages/Todo.tsx index 9d27c24852..a7d630a93d 100644 --- a/packages/cli/src/ui/components/messages/Todo.tsx +++ b/packages/cli/src/ui/components/messages/Todo.tsx @@ -33,7 +33,7 @@ const TodoTitleDisplay: React.FC<{ todos: TodoList }> = ({ todos }) => { return ( - + ๐Ÿ“ Todo {score} (ctrl+t to toggle) @@ -44,22 +44,39 @@ const TodoTitleDisplay: React.FC<{ todos: TodoList }> = ({ todos }) => { const TodoStatusDisplay: React.FC<{ status: TodoStatus }> = ({ status }) => { switch (status) { case 'completed': - return โœ“; + return ( + + โœ“ + + ); case 'in_progress': - return ยป; + return ( + + ยป + + ); case 'pending': - return โ˜; + return ( + + โ˜ + + ); case 'cancelled': default: - return โœ—; + return ( + + โœ— + + ); } }; -const TodoItemDisplay: React.FC<{ todo: Todo; wrap?: 'truncate' }> = ({ - todo, - wrap, -}) => ( - +const TodoItemDisplay: React.FC<{ + todo: Todo; + wrap?: 'truncate'; + role?: 'listitem'; +}> = ({ todo, wrap, role: ariaRole }) => ( + @@ -140,9 +157,9 @@ interface TodoListDisplayProps { } const TodoListDisplay: React.FC = ({ todos }) => ( - + {todos.todos.map((todo: Todo, index: number) => ( - + ))} );