Input validation: keep the error reason visible after the dialog closes (#1605 audit S5)

Open
#2,136 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
Half a day
Newbie friendliness
68/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Active
Tech stack
java
Domain
accessibility

Research direction

Start from docs/accessibility/color-audit.md row S5 to see the audited components, then locate where GuiConstants.ProblematicTextFieldBorder is applied. Inspect OutputOptionsPanel, MeshSpecificationPanel, StochSimOptionsPanel, TableCellEditorAutoCompletion and EditorScrollTable to find where the validation dialog is shown and dismissed. Replace the red-border-only state with a persistent inline text/icon message plus an accessible description set on the field; done when, with the dialog closed, the invalid field still displays its reason as visible text.

Written by the indexing model from the issue text.

Description

Accessibility Requirement Java-based User Interface

Follow-up from the #1605 color audit, row S5 (docs/accessibility/color-audit.md). Low priority; it's not a WCAG failure.

Finding. Invalid input is already described in text before the red border appears, so WCAG 3.3.1 and 1.4.1 are met. OutputOptionsPanel, MeshSpecificationPanel and StochSimOptionsPanel show an error or warning dialog. TableCellEditorAutoCompletion shows a dialog. EditorScrollTable shows the message as an automatic tooltip and then in a dialog. After the dialog closes, though, the field's only lasting sign of the error is GuiConstants.ProblematicTextFieldBorder, a 1 px Color.red border.

Proposal. Show a persistent inline message or icon next to the field while it is invalid. UConn's content guide recommends combining color, icon and text for form messages. Set the field's accessible description to the message.

Acceptance. While a field is invalid, the reason is visible as text without reopening a dialog.

Part of #1603.

Dominant language
Java
Stars
140
Forks
35
Avg merge
11h 28m
Merged PRs (30d)
19

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from virtualcell/vcell

All issues in virtualcell/vcell

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.