Instructor only · Unlisted

Junior answer key

All planted bugs across the 10 junior practice pages.

← Junior hub · Learning

Practice 01 · Required field validation (open)

  1. Accessibility: First name label for= doesn't match input id — clicking label doesn't focus field
  2. Last name asterisk but no required attribute
  3. Email uses type=text not type=email
  4. Phone has required attribute but no asterisk visual indicator
  5. Submit button is type=button — Enter key does not submit the form

Practice 02 · Email & phone format validation (open)

  1. Email pre-filled with 'notanemail'
  2. Phone pattern rejects spaces but placeholder shows spaces
  3. Pattern [0-9]{10} rejects valid NZ mobile formats
  4. Alt email uses type=text not type=email
  5. 'Business emails only' hint has no enforcement

Practice 03 · Boundary values (open)

  1. Ticket max attribute is 9, hint says max 10
  2. Default quantity is 0, below min of 1
  3. Age min is 0, requirement says 18+
  4. Promo maxlength=8, placeholder says up to 12
  5. Textarea maxlength=500, placeholder says max 200
  6. Age max of 120 is overly permissive

Practice 04 · Error messages (open)

  1. Error message says only 'Error' — no detail
  2. Empty error div always visible
  3. Password requirements vague ('must meet requirements')
  4. Error shown before any submission
  5. No message for password mismatch case

Practice 05 · Password rules (open)

  1. minlength=12 conflicts with pattern requiring 8+
  2. maxlength=20 blocks strong passphrases
  3. Special char required by hint but not in pattern
  4. No live feedback as user types
  5. Three different minimum length values (8, 8, 12)

Practice 06 · Dropdown bugs (open)

  1. Service defaults to real value, not placeholder
  2. Placeholder is second option, not first
  3. 'Tyre rotation' appears twice
  4. Service select has no required attribute
  5. Time select has no placeholder option

Practice 07 · Date picker issues (open)

  1. Preferred date has no min — past dates selectable
  2. Weekends not blocked despite hint saying Mon–Fri only
  3. Backup date uses type=text with format placeholder
  4. DOB min=2000 blocks everyone born before 2000
  5. 18+ rule not enforced by dynamic max attribute

Practice 08 · Character limits (open)

  1. Counter shows '100 / 60' before any input
  2. Review textarea has no maxlength attribute — label says max 500 but limit is not enforced
  3. Display name maxlength=50 but label says 30
  4. minlength=20 set on textarea but no live feedback — user only discovers the minimum on failed submit
  5. Counter is static HTML, not dynamic

Practice 09 · Checkbox & radio logic (open)

  1. 'Select one' group uses checkboxes not radio buttons
  2. 'Select all' group uses radio buttons not checkboxes
  3. Newsletter checkbox pre-checked (dark pattern)
  4. Partner offers checkbox pre-checked
  5. Both newsletter checkboxes share same name attribute

Practice 10 · Multi-step form flow (open)

  1. Step indicators out of order: 1, 3, 2
  2. 'Step 2 of 4' but only 3 steps shown
  3. Card number pre-filled with test value
  4. CVV uses type=text not type=password
  5. Current and completed steps look identical
  6. Back button has no data-loss warning