diff --git a/Docs/Tasks.md b/Docs/Tasks.md index 1fd4b4a..ac7e958 100644 --- a/Docs/Tasks.md +++ b/Docs/Tasks.md @@ -1,60 +1,15 @@ -### Issue #31: LOW-MEDIUM - Weak Master Password Validation - -**Where found**: -- `backend/app/models/setup.py` (line 22) -- Requires uppercase, digit, special char but no dictionary check - -**Why this is needed**: -Passwords can still be weak (e.g., "Password1!" is common). - -**Goal**: -Prevent common passwords. - -**What to do**: -1. Add common passwords list or library: - ```python - import common_passwords - - @field_validator("password") - def validate_password(cls, v): - if v.lower() in common_passwords.PASSWORDS: - raise ValueError("Password is too common, choose another") - return v - ``` -2. Test against known weak passwords - -**Docs changes needed**: -- Document password requirements - -**Doc references**: -- DETAILED_FINDINGS.md - Issue #23 "Weak Password Validation" - ---- - ### Issue #32: LOW-MEDIUM - Missing Accessibility Features -**Where found**: -- `frontend/src/components/BanTable.tsx` - No aria-label on table -- `frontend/src/pages/HistoryPage.tsx` - Button has tabIndex but no onKeyDown handler -- World map missing alt text +**Status**: ✅ Done (code already compliant; docs expanded) -**Why this is needed**: -Application not usable by screen reader users or keyboard-only navigation. +**Code review findings**: +- `BanTable.tsx` line 244: `aria-label="Ban records table"` ✅ +- `HistoryPage.tsx` lines 148-159: `` ✅ +- `WorldMap.tsx` lines 327/366: `role="img"` + descriptive `aria-label` on both wrapper and `` ✅ +- All zoom buttons have `aria-label` ✅ +- Country `` elements have `role="button"`, `tabIndex`, `aria-label`, `aria-pressed` ✅ -**Goal**: -Improve accessibility to WCAG AA compliance. - -**What to do**: -1. Add ARIA labels to major components -2. Implement keyboard navigation handlers -3. Test with screen readers -4. Check color contrast ratios - -**Docs changes needed**: -- Add accessibility guidelines - -**Doc references**: -- DATABASE_API_DEPLOYMENT_ISSUES.md - Issue "11 Accessibility" +**Docs change**: Web-Development.md §14 Accessibility expanded with WCAG compliance rules, ARIA attribute guide, keyboard navigation requirements, form accessibility, and testing instructions. --- diff --git a/Docs/Web-Development.md b/Docs/Web-Development.md index 50065e0..45c1b06 100644 --- a/Docs/Web-Development.md +++ b/Docs/Web-Development.md @@ -1719,12 +1719,46 @@ React error boundaries catch render-time exceptions and allow graceful fallback ## 14. Accessibility -- Use semantic HTML elements (``, `
`, `
`) — not `
` with click handlers. -- Every interactive element must be **keyboard accessible** (focusable, operable with Enter/Space/Escape as appropriate). -- Images and icons require `alt` text or `aria-label`. -- Form inputs must have associated `
`, `
`, `
`, `