Instructor only · Unlisted

Senior answer key

All planted bugs across the 10 senior practice pages.

← Senior hub · Learning

Practice 01 · Accessibility (open)

  1. No visible labels — placeholder only
  2. Button white on #ccc — 1.6:1 contrast fail
  3. Hint text #888 — borderline contrast fail
  4. outline:none with no focus-visible replacement
  5. Checkbox label is span not label[for]
  6. Footer link #bbb on white — 1.9:1 fail

Practice 02 · Responsive layout (open)

  1. Fixed 250px sidebar no responsive breakpoint
  2. Table white-space:nowrap overflows mobile
  3. Opening hours paragraph white-space:nowrap
  4. Contact bar items white-space:nowrap
  5. Contact flex row no flex-wrap

Practice 03 · Browser quirks (open)

  1. Number spinner inconsistent Firefox vs Chrome
  2. accent-color not supported pre-Safari 15.4
  3. type=date renders as text in older Safari
  4. type=colour not supported on iOS Safari
  5. Repayment result always $0.00 — not implemented

Practice 04 · State management (open)

  1. Item price static — doesn't update with qty
  2. Subtotal says '2 items' but 3 in cart
  3. Subtotal maths ambiguous (unit vs line price)
  4. Qty buttons non-functional
  5. Checkout button always enabled

Practice 05 · Loading & async (open)

  1. Spinner shown while results visible
  2. '47 results' but only 3 shown
  3. 'Last updated: never' placeholder
  4. No empty state for zero results
  5. Avatars are grey placeholders

Practice 06 · Navigation & routing (open)

  1. Active nav item not clearly distinguished
  2. Session warning not dismissible
  3. Session timer is static HTML
  4. Admin links visible to all roles
  5. All nav links href='#'

Practice 07 · Session & auth (open)

  1. Guest user sees Admin panel link
  2. Delete account no confirmation
  3. Last login shows 'undefined'
  4. Sign out href='#' — non-functional
  5. Full email exposed without masking

Practice 08 · Error recovery (open)

  1. Error + progress bar shown simultaneously
  2. Upload button permanently disabled
  3. Error has no actionable retry path
  4. Progress bar stuck at 65% no status label
  5. No file size validation feedback

Practice 09 · Regression (open)

  1. Wellington address but Country = Australia
  2. Profile 40% complete despite all fields filled
  3. Avatar image broken — empty placeholder circle
  4. Security (IDOR): page metadata data-user-id=1024 does not match displayed user ID 123
  5. Security (XSS): Account type field renders raw script tags instead of escaping them
  6. Date paradox: Member since shows 2028 — a future date

Practice 10 · Exploratory charter (open)

  1. Country defaults to Australia
  2. Postcode maxlength=4 breaks UK postcodes
  3. Surname not required
  4. Postcode not required
  5. Cart total $0.00 at checkout
  6. Billing same checkbox — no conditional section
  7. No back button to cart