Skip to content

[Existing app][Contacts Import] Close keyboard and screen-reader gaps #992

@kryputh

Description

@kryputh

Summary

Improve the existing Contacts Import surface. This issue is intentionally scoped to existing app code and should not introduce a new standalone tool or unrelated feature.

Current area

import wizard steps, contact parser, malformed row handling, preview data, and contact import types

Relevant paths

  • src/features/contacts/ImportWizard.tsx
  • src/features/contacts/parseContacts.ts
  • src/features/contacts/types.ts

Goal

improve the current contacts import wizard so contact data parsing is transparent and recoverable.

Work focus

Audit the existing surface for keyboard flow, focus order, visible focus, ARIA naming, reduced-motion behavior, and screen-reader clarity. Fix gaps in place without changing the core workflow.

Acceptance criteria

  • All interactive controls are reachable and operable from the keyboard.
  • Focus order matches the visual reading order and does not trap users unexpectedly.
  • Icon-only controls have accessible names and stateful controls expose current state.
  • Reduced-motion or non-animated fallback behavior is respected where motion exists.

Scope guardrails

  • Keep the work inside the relevant existing app/module paths above unless a small shared helper is clearly justified.
  • Do not add a new V1/V2 tool folder for this issue.
  • Do not use real user data, secrets, private keys, or live customer mail.
  • Keep copy and UI aligned with the Stealth Mail safety, speed, and sender-control positioning.

Suggested validation

  • Run the most relevant unit or e2e tests for the touched area.
  • Run �un x tsc --noEmit and �un run lint when the local environment supports the project dependency install.

Metadata

Metadata

Assignees

Labels

AccessibilityAccessibility workGrantFox OSSGrantFox open-source contribution issueMaybe RewardedPotentially rewardable contributor issueOfficial CampaignOfficial campaign issueTestingTesting workUIUser interface workenhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions