From 4d1e409a0e603a601a73415af30d1e28d0446c99 Mon Sep 17 00:00:00 2001 From: 0xMosas Date: Fri, 15 May 2026 18:53:57 +0100 Subject: [PATCH 01/17] add aria-describedby to MobileFormInput component --- frontend/src/components/MobileFormInput.tsx | 24 +++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/MobileFormInput.tsx b/frontend/src/components/MobileFormInput.tsx index 4a2952ab..f77e8ece 100644 --- a/frontend/src/components/MobileFormInput.tsx +++ b/frontend/src/components/MobileFormInput.tsx @@ -8,11 +8,18 @@ interface MobileFormInputProps extends InputHTMLAttributes { } export const MobileFormInput = forwardRef( - ({ label, error, helperText, icon, className = '', ...props }, ref) => { + ({ label, error, helperText, icon, className = '', id, ...props }, ref) => { + const inputId = id || props.name || 'input'; + const errorId = `${inputId}-error`; + const helperId = `${inputId}-helper`; + return (
{label && ( -
{error && ( -

{error}

+ )} {helperText && !error && ( -

{helperText}

+

+ {helperText} +

)} ); From dc25d0962ebc946f6674ffcf2f8c7c54a12eaa40 Mon Sep 17 00:00:00 2001 From: 0xMosas Date: Fri, 15 May 2026 18:54:46 +0100 Subject: [PATCH 02/17] add aria-describedby to question textarea field --- frontend/src/components/QuestionForm.tsx | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/QuestionForm.tsx b/frontend/src/components/QuestionForm.tsx index 5f642b12..ec064e54 100644 --- a/frontend/src/components/QuestionForm.tsx +++ b/frontend/src/components/QuestionForm.tsx @@ -47,6 +47,11 @@ export function QuestionForm({ const [showSuggestions, setShowSuggestions] = useState(false); const suggestions = getQuestionSuggestions(question); + const questionErrorId = 'question-error'; + const questionSuggestionId = 'question-suggestion'; + const durationErrorId = 'duration-error'; + const categoryErrorId = 'category-error'; + const containerStyle: React.CSSProperties = { display: 'flex', flexDirection: 'column', @@ -149,20 +154,33 @@ export function QuestionForm({ Write a clear, specific question that can be objectively resolved. Include a timeframe and make the outcome verifiable.