Files
halloween-test/specs/001-mcdonald-s-it/quickstart.md
snowprint 325eeaf063 feat(spec): complete implementation plan for Halloween event page
Created comprehensive planning documentation following Spec-Kit standards:

Phase 0 - Research:
- Analyzed 10 technical decisions (HTML5, ASCII art, countdown, responsive design)
- Resolved edge cases (post-countdown, post-event, JS disabled, small screens)
- Documented rationale and alternatives for each decision

Phase 1 - Design:
- Defined 4 data entities (Event, Countdown, VisualTheme, Content)
- Created JSON schema contract for page content validation
- Mapped 35 functional requirements to implementation approach
- Generated quickstart testing checklist with 10 test categories

Technical decisions:
- Single-file HTML architecture (no external dependencies)
- Pure CSS animations (blinking cursor)
- JavaScript countdown with GMT+8 timezone handling
- Responsive ASCII art (desktop/mobile versions)
- WCAG 2.1 AA compliance (21:1 contrast ratio)

Constitution compliance: PASS
- No violations detected
- Follows user-centric, professional excellence principles
- Minimal technical stack aligns with simplicity requirement

Artifacts created:
- spec.md: 35 functional requirements
- plan.md: Implementation strategy and phases
- research.md: 10 technical research decisions
- data-model.md: 4 entity definitions with validation
- contracts/page-content.schema.json: JSON Schema
- quickstart.md: Comprehensive testing checklist

Ready for: /tasks command to generate tasks.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-04 19:20:25 +08:00

12 KiB

Quickstart: McDonald's IT Halloween Event Page

Feature: Halloween event announcement webpage Date: 2025-10-04 Purpose: Step-by-step testing and validation checklist

Prerequisites

  • Modern web browser (Chrome, Firefox, Safari, or Edge - latest 2 versions)
  • Text editor (for viewing source if needed)
  • Internet connection (for online validators)
  • Device with different screen sizes OR browser dev tools for responsive testing

Quick Test (2 minutes)

  1. Open the page

    # Navigate to project directory
    cd /Users/snowprint/workspace/claude/test-project
    
    # Open index.html in default browser
    open index.html
    # OR for other systems:
    # xdg-open index.html  (Linux)
    # start index.html     (Windows)
    
  2. Visual check

    • Black background (#000000)
    • Green text (#00FF00) for primary content
    • Amber text (#FFBF00) for key information
    • Monospace font (looks like terminal/code)
    • No shadows, gradients, or decorative effects
  3. Content check

    • McDonald's ASCII art logo visible at top
    • "i'm lovin' IT" tagline below logo with blinking cursor
    • Countdown timer showing days, hours, minutes, seconds
    • Event details: Oct 31 2025, 18:00-21:00 GMT+8
    • Location: MITA Building 2F Pantry
    • Organizer: Jessi Pan (jessi.pan@cn.mcd.com)
    • Activities listed (Cosplay, Debugging Games, Lucky Draw)
    • Halloween decorations (🎃👻🦇 or ASCII art)
    • Footer: "McDonald's IT Academy"
  4. Functionality check

    • Countdown timer updates every second
    • No JavaScript errors in browser console (F12 → Console tab)
    • Browser tab title shows "2025 MITA Halloween"
    • Favicon shows pumpkin emoji 🎃
  5. Responsive check

    • Resize browser to mobile width (< 768px)
    • ASCII art switches to mobile version OR remains legible
    • No horizontal scrollbar appears
    • All content readable without zooming

Full Test Suite (15 minutes)

1. Visual Design Validation

Test: Verify terminal aesthetic

  • Background is pure black (#000000)
  • Primary text is terminal green (#00FF00)
  • Accent text is amber (#FFBF00)
  • Font is monospace (Courier New, Monaco, Consolas, or Menlo)
  • No shadows on any elements
  • No gradients anywhere
  • No borders or decorative effects
  • Overall look is minimalist and geek-style

Expected: Page looks like a terminal/command-line interface


2. Content Verification

Test: Verify all required content is present and correct

Event Information:

  • Title: "2025 MITA Halloween" (in browser tab)
  • Date: October 31, 2025
  • Time: 18:00 - 21:00 (6:00 PM - 9:00 PM)
  • Timezone: GMT+8 clearly stated
  • Location: MITA Building 2F Pantry
  • Organizer: Jessi Pan
  • Contact: jessi.pan@cn.mcd.com

Activities:

  • Cosplay (encouraged)
  • Bug debugging games
  • Lucky draw

Notes:

  • Costumes encouraged
  • Food and drinks provided

ASCII Art:

  • McDonald's logo with Golden Arches M
  • Halloween decorations (pumpkins, ghosts, bats)

Tagline:

  • "i'm lovin' IT" displayed
  • Blinking cursor animation after tagline

Footer:

  • "McDonald's IT Academy" displayed

Expected: All content matches specification exactly


3. Bilingual Content Check

Test: Verify English/Chinese alternating pattern

  • Each piece of information has English version
  • Each piece of information has Chinese version
  • Lines alternate: English, then Chinese
  • lang="en" attribute on English paragraphs
  • lang="zh-CN" attribute on Chinese paragraphs
  • Both languages are legible and well-formatted

Expected: Clear bilingual display with proper language tagging


4. Countdown Timer Functionality

Test: Verify countdown accuracy and updates

Before Event (current time < Oct 31 2025 18:00 GMT+8):

  • Countdown displays days, hours, minutes, seconds
  • Timer updates every second
  • Values are accurate (check against system clock)
  • No negative values shown
  • Format is clear (e.g., "365d 12h 34m 56s")

Manual Time Test (using browser dev tools):

// Open browser console (F12)
// Override system date to test different states

// Test: Just before event starts
const testDate = new Date('2025-10-31T09:59:50Z'); // 17:59:50 GMT+8
// Check countdown shows 0d 0h 0m 10s (approximately)

// Test: Event starting
const testDate = new Date('2025-10-31T10:00:00Z'); // 18:00:00 GMT+8
// Check displays "🎃 EVENT STARTING NOW! 🎃"

// Test: Event ended
const testDate = new Date('2025-10-31T13:00:01Z'); // 21:00:01 GMT+8
// Check displays "👻 EVENT COMPLETED - Thanks for joining! 👻"

Expected: Countdown is accurate and handles all three states correctly


5. Responsive Design Testing

Test: Page adapts to different screen sizes

Desktop (1024px+):

  • Full ASCII art logo visible
  • All content displayed comfortably
  • No horizontal scroll
  • Text is readable without zooming

Tablet (768-1023px):

  • Layout adapts smoothly
  • ASCII art remains legible OR switches to simpler version
  • No horizontal scroll
  • All features functional

Mobile (320-767px):

  • Mobile ASCII art version displayed (if different)
  • Countdown timer visible and readable
  • Bilingual content stacks vertically
  • No horizontal scroll
  • Tap targets are adequate (buttons, links)

Very Small (< 320px) [optional]:

  • Ultra-minimal ASCII art or text fallback
  • Core content still accessible

How to test:

  1. Open browser DevTools (F12)
  2. Toggle device toolbar (Ctrl+Shift+M / Cmd+Shift+M)
  3. Select different device presets OR
  4. Drag responsive width to test breakpoints

Expected: Page is fully functional and readable at all sizes


6. Accessibility Testing

Test: WCAG 2.1 AA compliance

Contrast Ratios (use https://webaim.org/resources/contrastchecker/):

  • Green (#00FF00) on black (#000000) = 21:1 ratio (exceeds WCAG AAA)
  • Amber (#FFBF00) on black (#000000) = 12:1 ratio (exceeds WCAG AA)

Screen Reader Test (optional but recommended):

  • Enable screen reader (VoiceOver on Mac, NVDA on Windows)
  • Navigate through page
  • All content is announced
  • Language switches are detected (English → Chinese)
  • ARIA labels provide context for visual elements

Keyboard Navigation:

  • Tab through all interactive elements
  • Focus indicators are visible
  • All functionality accessible via keyboard

Semantic HTML:

  • Proper heading hierarchy (h1, h2, etc.)
  • Semantic tags used (, ,
    , )
  • lang attributes on bilingual content

Expected: Page meets WCAG 2.1 AA standards


7. Performance Testing

Test: Load time and file size

File Size:

# Check file size
ls -lh index.html
# Should be < 50KB
  • File size is under 50KB (51,200 bytes)

Load Time:

  1. Open browser DevTools (F12)
  2. Go to Network tab
  3. Hard refresh page (Ctrl+Shift+R / Cmd+Shift+R)
  4. Check "Load" time in bottom status bar
  • Page loads in under 1 second

Animation Performance:

  1. Open DevTools → Performance tab
  2. Record for 5 seconds
  3. Check frame rate (FPS)
  • Cursor blinking animation runs at 60fps
  • Countdown updates don't cause jank

Expected: Fast load, smooth animations, small file size


8. Browser Compatibility

Test: Page works in all target browsers

  • Chrome (latest): All features work
  • Firefox (latest): All features work
  • Safari (latest): All features work
  • Edge (latest): All features work

How to test:

  1. Open index.html in each browser
  2. Run through Quick Test checklist
  3. Note any differences or issues

Expected: Consistent experience across all browsers


9. JavaScript Disabled Test

Test: Page works without JavaScript

  1. Disable JavaScript in browser settings:
    • Chrome: Settings → Privacy → Site Settings → JavaScript → Blocked
    • Firefox: about:config → javascript.enabled → false
  2. Refresh page
  • All static content visible
  • ASCII art displays
  • Event information readable
  • Countdown shows fallback message: "Enable JavaScript for live countdown"
  • No broken functionality

Expected: Progressive enhancement - core content accessible without JS


10. HTML5 Validation

Test: Valid HTML5 markup

  1. Go to https://validator.w3.org/
  2. Upload index.html OR paste URL
  3. Run validation
  • Zero errors
  • Zero warnings (or only acceptable warnings)
  • Passes HTML5 validation

Common acceptable warnings:

  • Data URI favicon warnings (browser-specific)
  • Emoji in content (some validators flag these)

Expected: Clean validation with no critical errors


Edge Case Testing

Edge Case 1: Countdown Reaches Zero

Setup: Set system time to Oct 31 2025 18:00 GMT+8 (or use dev tools)

Test:

  • Countdown disappears
  • Message displays: "🎃 EVENT STARTING NOW! 🎃"
  • No errors in console

Edge Case 2: After Event Ends

Setup: Set system time to after Oct 31 2025 21:00 GMT+8

Test:

  • Countdown disappears
  • Message displays: "👻 EVENT COMPLETED - Thanks for joining! 👻"
  • No errors in console

Edge Case 3: Very Long Content

Test: Ensure page handles overflow properly

  • Long ASCII art doesn't break layout
  • Long text content wraps appropriately
  • No horizontal scroll on any screen size

Edge Case 4: Slow Network

Test: Page loads correctly on slow connection

  1. Open DevTools → Network tab
  2. Throttle to "Slow 3G"
  3. Hard refresh
  • Page still loads under 3 seconds
  • No broken elements
  • Countdown starts once JS loads

Validation Tools

Contrast Checker: https://webaim.org/resources/contrastchecker/ HTML Validator: https://validator.w3.org/ CSS Validator: https://jigsaw.w3.org/css-validator/ WCAG Checker: https://wave.webaim.org/ Performance: Chrome DevTools Lighthouse


Success Criteria

Page is ready for deployment if:

  • All visual checks pass (terminal aesthetic)
  • All content is present and correct
  • Bilingual display works properly
  • Countdown timer functions correctly
  • Responsive on all screen sizes
  • WCAG 2.1 AA compliant
  • File size < 50KB
  • Load time < 1 second
  • Works in all target browsers
  • HTML5 valid

Page needs fixes if:

  • Any visual element breaks terminal aesthetic
  • Content is missing or incorrect
  • Countdown doesn't update or shows errors
  • Not responsive (horizontal scroll on mobile)
  • Contrast ratios fail WCAG AA
  • File size exceeds 50KB
  • Load time exceeds 1 second
  • Validation errors exist

Troubleshooting

Problem: Countdown doesn't update

  • Check JavaScript console for errors
  • Verify system date/time is correct
  • Check JavaScript is enabled

Problem: ASCII art looks broken

  • Verify monospace font is loading
  • Check character encoding is UTF-8
  • Test different browsers

Problem: Colors look wrong

  • Check color hex values in CSS
  • Verify no browser extensions affecting colors
  • Test in incognito mode

Problem: Page not responsive

  • Check viewport meta tag exists
  • Verify media queries are working
  • Test in different browsers

Problem: File size too large

  • Check ASCII art for excessive whitespace
  • Minify CSS/JS if needed
  • Remove any unused code

Next Steps

After passing all tests:

  1. Mark quickstart.md checklist complete
  2. Document any issues found and fixed
  3. Update CHANGELOG.md with v1.0.0 release
  4. Prepare for deployment
  5. Share with stakeholders (Jessi Pan)

Test Date: _____________ Tested By: _____________ Status: Pass | Fail | Needs Fixes Notes: _________________________________________________