jwalkerbandfc / jwalkerbandfc/test

Feat: User Login for Blind user

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Below is a **detailed, well‑structured user story** suitable for documentation, coursework, backlog grooming, or assessment use, followed by **clear, testable acceptance criteria** with a strong accessibility focus.

***

## User Story: Secure Login for a Blind User

**Title:** Accessible secure login for a registered blind user

**As a** registered blind user
**I want** to securely log in to the system using assistive technology
**So that** I can independently and safely access my account and its features without barriers.

### Narrative / Context

The user is already registered and has an existing account. They rely on a screen reader (e.g. NVDA, JAWS, VoiceOver) and keyboard navigation to interact with the system. The login process must be secure, accessible, and usable without sight, ensuring the same level of security and independence as sighted users.

The system uses standard security controls such as username/email, password, and optional multi-factor authentication (MFA). All feedback, errors, and success messages must be perceivable via assistive technologies.

***

## Functional Description (User Perspective)

* I navigate to the login page using a keyboard and screen reader.
* I can clearly identify the username/email and password fields.
* I can enter my credentials without relying on visual cues.
* If additional security (e.g. MFA) is required, I receive clear, accessible instructions.
* If I make an error, I am informed in a clear, non-visual way.
* When login is successful, I am notified and taken directly to my dashboard.

***

## Acceptance Criteria

### 1. Accessibility and Navigation

* ✅ The login page is fully operable using **keyboard-only navigation**.
* ✅ All interactive elements (input fields, buttons, links) are reachable using the **Tab** key and have a logical tab order.
* ✅ Each input field has a **programmatically associated label** that is correctly announced by screen readers.
* ✅ The page structure uses appropriate semantic HTML or ARIA landmarks (e.g. `main`, `form`, `button`).

***

### 2. Username / Email Entry

* ✅ The username/email field is announced clearly by screen readers (e.g. “Email address, edit field”).
* ✅ The user can enter and edit their username/email using standard keyboard input.
* ✅ Any validation errors (e.g. empty field) are announced clearly to assistive technologies.

***

### 3. Password Entry

* ✅ The password field is correctly identified as a secure input by screen readers.
* ✅ The system does **not rely on visual indicators alone** (e.g. colour or icons) to communicate password errors.
* ✅ If “show password” functionality exists, it is accessible via keyboard and announced clearly.
* ✅ Password requirements are available to screen readers before submission.

***

### 4. Error Handling and Feedback

* ✅ If login fails, the error message is:
* Automatically announced by screen readers
* Clear, concise, and non-technical
* Not dependent on visual positioning or colour
* ✅ Focus moves to the error message or remains logically positioned to guide correction.
* ✅ The system does not announce whether the username or password specifically is incorrect, maintaining security best practice.

***

### 5. Multi‑Factor Authentication (If Applicable)

* ✅ MFA instructions are announced clearly by screen readers.
* ✅ The MFA input method (e.g. code entry, app approval) is fully keyboard accessible.
* ✅ Time limits or countdowns are communicated non-visually when relevant.
* ✅ Errors related to MFA are announced clearly and allow retry without restarting the login process.

***

### 6. Successful Login

* ✅ Upon successful authentication, a clear confirmation is announced (e.g. “Login successful”).
* ✅ The user is automatically redirected to the dashboard or landing page.
* ✅ Focus is placed on a meaningful element on the destination page (e.g. page heading).

***

### 7. Compliance and Standards

* ✅ The login process meets **WCAG 2.1 Level AA** accessibility requirements.
* ✅ No information required to complete login is conveyed by visual cues alone.
* ✅ Assistive technologies can complete the login process with the same functionality and security as non‑assistive users.

***

## Optional Non‑Functional Acceptance Criteria (Good for Higher Marks)

* ✅ Login completes without time pressure unless explicitly required for security.
* ✅ Screen reader testing confirms compatibility with at least one common screen reader.
* ✅ The user can recover from mistakes without assistance.

***

If you want, I can:

* Rewrite this to **reading age \~15** for student-facing coursework
* Convert acceptance criteria into **Gherkin (Given / When / Then)** format
* Align it to **UK degree-level software engineering marking criteria** or **accessibility legislation (Equality Act / WCAG)**

Just tell me how you’re using it.

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or implementation entry points are identified. Start by locating the login page, authentication flow, and dashboard transition, then review how keyboard navigation, labels, errors, MFA, focus, and screen-reader announcements are handled. Done means the stated login journey is operable with keyboard and assistive technology and meets the listed WCAG 2.1 AA criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
accessibility, authentication, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.