Practical Exam: Building From Requirements

Six timed tasks in the format a practical assessment or a technical test actually uses: a written requirement, a time limit and a marking scheme.

Format

Each task gives a written requirement and a time limit. Build to the requirement, then mark yourself against the scheme.

No solutions are provided. The marking scheme is the specification - if every item scores, the task is complete.

Work as you would in an assessment: no copying from an existing page, and validate before you declare it finished.

Task 1: Event page (30 minutes)

Requirement. Build a page for a one day workshop. It must state the title, the date and time, the venue with a full address, the price, what is included, who it is for, and a booking form asking for name, email, phone and dietary requirements.

MarksCriterion
4Valid document with correct head, unique title and description
4One h1, logical heading structure, landmarks present
4Date and time in time elements with correct datetime
4Address in an address element, price and inclusions well structured
6Booking form: labels bound, correct types, autocomplete, required fields marked
4Keyboard operable throughout with visible focus
4No horizontal scroll at 320 pixels
30Total

Task 2: Fix the broken page (20 minutes)

Requirement. You are given a page containing the following problems. Fix every one without changing how it looks.

  • Headings jump from h1 to h4.
  • Three images have no alt, one is decorative.
  • Two elements share an id.
  • A form field has an id but no name.
  • A label is not bound to its field.
  • A clickable div acts as a button.
  • An external link opens in a new tab with no rel and no warning.
  • A div is nested inside a p.
  • Two links read click here.
  • An iframe has no title.
MarksCriterion
10All ten problems found and fixed, one mark each
5Validates with zero errors afterwards
5Visual appearance unchanged
20Total

Task 3: Data table (25 minutes)

Requirement. Build a table of examination results: five students, four subjects, plus a total column and an average row. Add a two row header grouping the subjects into two semesters. It must be usable on a phone.

MarksCriterion
5Correct column arithmetic on every row including spans
5caption, thead, tbody, tfoot all used correctly
5Headers on both axes with correct scope including group scopes
5Usable at 320 pixels with a keyboard reachable scroll container
5Numeric columns right aligned with tabular figures
25Total

Task 4: Accessible form (30 minutes)

Requirement. Build a course application form: personal details, a course choice from twelve options grouped by faculty, a preferred start date, an accommodation yes or no question, a supporting statement of up to five hundred characters, a document upload, and a required terms checkbox. Errors must be shown in the page, not in browser bubbles.

MarksCriterion
5Every control labelled and named; groups in fieldsets with legends
5Correct input types, autocomplete and validation attributes
5Twelve options grouped with optgroup, placeholder option handled
5Upload works: POST, correct enctype, accept set
5Character counter in a live region
5Error messages in the page, tied with aria-describedby, focus moved to the first failure
30Total

Task 5: Optimise for search (25 minutes)

Requirement. You are given a page that renders correctly and has no metadata. Make it findable without changing the visible content.

MarksCriterion
4Unique title under sixty characters, most important words first
4Description around one hundred and fifty five characters, written for a person
4Self referencing absolute canonical
4Open Graph set with an absolute image URL and declared dimensions
5Correct structured data for the page type, validating
4Heading structure corrected, image alt text and file names improved
25Total

Task 6: Debug with DevTools only (20 minutes)

Requirement. A page has five faults. Find each one using DevTools alone - you may not read the source file - and describe the cause and the fix.

  • A stylesheet rule that does not apply.
  • A form field whose value never reaches the server.
  • An image that does not load.
  • An element that causes horizontal scrolling.
  • A button announced with no name.
MarksCriterion
10All five faults located, two marks each
5Correct cause identified for each
5Correct panel used and named for each
20Total

Exam technique

  • Read the whole requirement first and list the deliverables before typing.
  • Structure before style. If time runs out, a correct unstyled page scores far better than a styled broken one.
  • Validate at the halfway point, not at the end. Errors compound.
  • Tab through it before you finish. It takes thirty seconds and catches several marking criteria at once.
  • Leave five minutes for the checklist.
  • Answer what was asked. Extra features score nothing and cost time.

Practice

  1. Attempt task 1 under a real thirty minute limit and mark yourself honestly.
  2. Build the broken page described in task 2 yourself, leave it a week, then fix it.
  3. Attempt task 4 without looking anything up, then check what you got wrong.
  4. Time yourself on task 6 and record which panel found each fault.

Useful resources

Hand picked references for this topic
Written by Lorens Mishra

Default administrator account created by the installer.

Continue reading

All HTML notes →
HTML

Project Exams

Five larger assessments where the deliverable is a working site. Requirements, constraints and a rubric for each.

Read more
HTML

HTML MCQ Set 1: Beginner

Thirty multiple choice questions on document structure, elements, text, links, lists and images. Questions only - verify each answer by building it.

Read more

Discussion

0 comments
Sign in to join the discussion.

No comments yet. Be the first to say something.