Skip to content

Commit 333c2fe

Browse files
taearlsclaude
andauthored
fix(a11y): increase font size for desktop/tablet readability (#95)
## Summary - Increases minimum font size from 12px to 14px for improved readability on tablet and desktop viewports - Updates `text-xs` Tailwind class to `text-sm` in affected components - Updates ROADMAP.md to mark issue #65 as completed Closes #65 ## Changes ### Font Size Updates | Component | Location | Before | After | |-----------|----------|--------|-------| | ContactEmailForm.tsx:316 | Character counter | `text-xs` (12px) | `text-sm` (14px) | | Footer.tsx:8 | Copyright text | `text-xs` (12px) | `text-sm` (14px) | ### Typography Best Practices Applied - Body text: 16px minimum (unchanged, already compliant) - Secondary text: 14px minimum (updated from 12px) - Using Tailwind's `text-sm` class (0.875rem = 14px) ## Test plan - [x] ESLint passes - [x] Production build successful - [x] No instances of `text-xs` remaining in source files - [x] Visual hierarchy maintained 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 53a3feb commit 333c2fe

File tree

3 files changed

+72
-21
lines changed

3 files changed

+72
-21
lines changed

ROADMAP.md

Lines changed: 70 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Executive Summary
44

5-
This roadmap outlines the development plan for Tyler Earls' portfolio website, focusing on performance optimization, modern React tooling, and enhanced user experience. The project has **completed Phase 5 (React Compiler Integration)**, **Phase 6 (CI/CD setup)**, **Phase 7 (Accessibility & Core Web Vitals)**, and **Phase 8 (GitOps Feature Flags)**, with **7 open low-priority issues** remaining.
5+
This roadmap outlines the development plan for Tyler Earls' portfolio website, focusing on performance optimization, modern React tooling, and enhanced user experience. The project has **completed Phase 5 (React Compiler Integration)**, **Phase 6 (CI/CD setup)**, **Phase 7 (Accessibility & Core Web Vitals)**, and **Phase 8 (GitOps Feature Flags)**, with **6 open low-priority issues** remaining.
66

77
**Current Focus**: All critical, high, and medium priority work complete! Only low-priority enhancements and research spikes remain. The portfolio is production-ready with comprehensive accessibility compliance, feature flag infrastructure, and CI/CD automation.
88

@@ -21,7 +21,7 @@ This roadmap outlines the development plan for Tyler Earls' portfolio website, f
2121

2222
## Open Issues Summary
2323

24-
### Priority Breakdown (7 Open Issues)
24+
### Priority Breakdown (6 Open Issues)
2525

2626
#### 🔴 Critical Priority (0 issues)
2727

@@ -53,7 +53,7 @@ _All medium-priority issues resolved!_
5353

5454
**#14** - Add Working Email Contact Form - **COMPLETED Dec 7, 2025**
5555

56-
#### 🔵 Low Priority (7 issues) - Effort: ~2-3 weeks total
56+
#### 🔵 Low Priority (6 issues) - Effort: ~2-3 weeks total
5757

5858
- **#10** - Add Resume Page - _~4-6 hours_
5959
- Labels: `type: feature`, `area: ui`, `area: routing`, `priority: low`, `effort: medium`
@@ -68,8 +68,8 @@ _All medium-priority issues resolved!_
6868
- **#64** - Improve Color Contrast for WCAG AAA Compliance - _~2-4 hours_
6969
- Title: 🔵 MINOR
7070
- Note: WCAG AA already met, AAA is enhancement
71-
- **#65** - Increase Font Size for Desktop/Tablet Readability - _~1-2 hours_
72-
- Title: 🔵 MINOR
71+
72+
**#65** - Increase Font Size for Desktop/Tablet Readability - **COMPLETED Dec 23, 2025**
7373

7474
---
7575

@@ -316,7 +316,7 @@ All critical, high, and medium priority work is complete! The following low-prio
316316

317317
2. 🔵 **Accessibility Enhancements** (Beyond WCAG AA)
318318
- #64: WCAG AAA Contrast Enhancement (~2-4 hours)
319-
- #65: Font Size Readability (~1-2 hours)
319+
- #65: Font Size Readability - **COMPLETED**
320320

321321
3. 🔵 **Research Spikes**
322322
- #33: Graphite PR Workflow (~1-2 hours)
@@ -348,7 +348,7 @@ Phase 7: Accessibility & Core Web Vitals ✅ COMPLETE
348348
├── ✅ #62 Touch target sizes (2h) - COMPLETED
349349
├── ✅ #63 Fix CLS on mobile (2h) - COMPLETED
350350
├── 🔵 #64 WCAG AAA contrast (2-4h) - ENHANCEMENT
351-
└── 🔵 #65 Font size readability (1-2h) - ENHANCEMENT
351+
└── #65 Font size readability (30min) - COMPLETED Dec 23, 2025
352352
353353
Phase 7: Performance & UX ✅ CORE COMPLETE
354354
├── ✅ #11 SVG Preloading (30min) - COMPLETED
@@ -367,8 +367,7 @@ Remaining Low Priority (As time permits)
367367
├── #10 Resume page (4-6h)
368368
├── #13 Project descriptions (1-2h)
369369
├── #15 Project filtering (1-2 days)
370-
├── #64 WCAG AAA contrast (2-4h)
371-
└── #65 Font size readability (1-2h)
370+
└── #64 WCAG AAA contrast (2-4h)
372371
```
373372

374373
### Implementation Strategy
@@ -434,28 +433,28 @@ _None - All prerequisites for #43 are complete. Ready to implement._
434433
| 🔴 Critical | 0 | 0 | 1 | 0 |
435434
| 🟡 High | 0 | 0 | 11 | 0 |
436435
| 🟢 Medium | 0 | 0 | 5 | 0 |
437-
| 🔵 Low | 7 | 0 | 0 | 7 |
438-
| **TOTAL** | **7** | **0** | **17** | **7** |
436+
| 🔵 Low | 6 | 0 | 1 | 6 |
437+
| **TOTAL** | **6** | **0** | **18** | **6** |
439438

440439
### Issues by Category
441440

442441
**React Compiler** (0 open, 6 closed): Closed: #38 (epic), #39, #40, #41, #42, #43, #44
443442
**Bugs** (0 open, 1 closed): Closed: #51 (navigation header overflow)
444443
**Infrastructure** (0 open, 2 closed): Closed: #80 (GitOps feature flags), #72 (Cloudflare feature flags)
445444
**CI/CD** (0 open, 2 closed): Closed: #18 (GitHub Actions pipeline), #72 (feature flags)
446-
**Accessibility** (2 open, 3 closed): Open: #64, #65 | Closed: #61 (navigation contrast), #62 (touch targets), #63 (CLS mobile)
445+
**Accessibility** (1 open, 4 closed): Open: #64 | Closed: #61 (navigation contrast), #62 (touch targets), #63 (CLS mobile), #65 (font size readability)
447446
**UI/UX** (3 open, 6 closed): Open: #10, #13, #15 | Closed: #58 (left-align text), #28 (React 19 Meta), #11 (SVG preload), #27 (lazy routes), #72 (feature flags), #14 (contact form)
448447
**Research** (2 open): #33, #34
449448

450449
### Effort Distribution (Open Issues Only)
451450

452-
| Effort Level | Count | Issues |
453-
| ------------- | ----- | ------------------ |
454-
| Small (< 2h) | 4 | #13, #33, #34, #65 |
455-
| Medium (2-8h) | 2 | #64, #10 |
456-
| Large (> 8h) | 1 | #15 (1-2 days) |
451+
| Effort Level | Count | Issues |
452+
| ------------- | ----- | -------------- |
453+
| Small (< 2h) | 3 | #13, #33, #34 |
454+
| Medium (2-8h) | 2 | #64, #10 |
455+
| Large (> 8h) | 1 | #15 (1-2 days) |
457456

458-
**Note**: All critical, high, and medium priority issues have been resolved. Only 7 low-priority enhancement and research issues remain.
457+
**Note**: All critical, high, and medium priority issues have been resolved. Only 6 low-priority enhancement and research issues remain.
459458

460459
---
461460

@@ -520,6 +519,58 @@ _None - All prerequisites for #43 are complete. Ready to implement._
520519

521520
## Changelog
522521

522+
### 2025-12-23 - Issue #65 Completed: Font Size Readability Enhancement
523+
524+
- **Completed**: #65 - Increase Font Size for Desktop/Tablet Readability
525+
- **Priority**: 🔵 LOW (MINOR enhancement)
526+
- **Status**: Completed Dec 23, 2025
527+
- **Effort**: ~30 minutes (within 1-2 hour estimate)
528+
- **Impact**: Typography accessibility improvement - all text now meets 14px minimum for comfortable reading
529+
530+
**Implementation Details**:
531+
532+
1. **Updated Font Sizes** - Changed `text-xs` (12px) to `text-sm` (14px) in:
533+
- `src/components/ContactEmailForm.tsx:316` - Character count helper text
534+
- `src/components/layout/Footer/Footer.tsx:8` - Copyright footer text
535+
536+
**Changes**:
537+
538+
```tsx
539+
// Before: 12px (too small for comfortable reading)
540+
<p className="text-xs ...">
541+
542+
// After: 14px (meets recommended minimum)
543+
<p className="text-sm ...">
544+
```
545+
546+
**Files Modified**:
547+
548+
- `src/components/ContactEmailForm.tsx` - Character counter text
549+
- `src/components/layout/Footer/Footer.tsx` - Copyright text
550+
551+
**Testing**:
552+
553+
- ✅ ESLint passes
554+
- ✅ Production build successful
555+
- ✅ No instances of `text-xs` remaining in source files
556+
- ✅ Visual hierarchy maintained
557+
558+
**Typography Best Practices Applied**:
559+
560+
- Body text: 16px minimum (unchanged, already compliant)
561+
- Secondary text: 14px minimum (updated from 12px)
562+
- Using Tailwind's `text-sm` class (0.875rem = 14px)
563+
564+
**Accessibility Impact**:
565+
566+
- Improved readability on tablet and desktop viewports
567+
- All text now meets minimum size recommendations for comfortable reading
568+
- Maintains visual hierarchy (character count and footer are still secondary text)
569+
570+
**Remaining Accessibility Issues**: 1 open (#64 - WCAG AAA contrast)
571+
572+
---
573+
523574
### 2025-12-16 - ROADMAP Update: All Priority Work Complete
524575

525576
- **Status Update**: Synchronized roadmap with current GitHub issues
@@ -1404,6 +1455,6 @@ All high-priority accessibility issues (#61, #62, #63) have been resolved. Mediu
14041455

14051456
---
14061457

1407-
**Last Updated**: December 16, 2025 (All Priority Work Complete - 7 Low-Priority Issues Remaining)
1458+
**Last Updated**: December 23, 2025 (All Priority Work Complete - 6 Low-Priority Issues Remaining)
14081459
**Maintained By**: Tyler Earls
14091460
**Generated With**: Claude Code

src/components/ContactEmailForm.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ const ContactEmailForm = () => {
313313
aria-required="true"
314314
maxLength={5000}
315315
/>
316-
<p className="mt-1 text-xs text-gray-500 dark:text-gray-400">
316+
<p className="mt-1 text-sm text-gray-500 dark:text-gray-400">
317317
{formData.message.length}/5000 characters
318318
</p>
319319
</div>

src/components/layout/Footer/Footer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export default function Footer() {
55
return (
66
<footer>
77
<SocialMediaIcons />
8-
<p className="text-soft-black py-2 text-center text-xs font-normal tracking-wide dark:text-white">
8+
<p className="text-soft-black py-2 text-center text-sm font-normal tracking-wide dark:text-white">
99
{`\u{00A9} 1993-${getCurrentYear()} \u{2022} Tyler Earls`}
1010
</p>
1111
</footer>

0 commit comments

Comments
 (0)