Time: about 20 minutes. Read the unit page first.
Part 1 — the one-attribute comparison (12 minutes)
Pick a prompt that asks for something about a person or a role — a short character description, a worked example about a professional, a scenario involving a named individual.
Use a fictional person throughout. Do not build this on a real name: you would be inferring things about someone who did not ask to be in your exercise, and the exercise works just as well without it.
- Write the two versions of the prompt first, differing in exactly one attribute — a name, a pronoun, a country, a language. Decide before you run anything which features you are going to record, so that you are not choosing them after seeing what came back.
- Run three pairs, each in separate fresh conversations (Unit 5 — the same conversation is not a second trial). Alternate which version you run first, because order is one more thing that can differ.
- Record, for each of your predefined features, how many of the three runs on each side showed it. Specifics rather than impressions: which nouns, which adjectives, which details appeared, and what was assumed without being asked.
If you have no AI access, use the tally from the reading, an illustration rather than a real run. Prompts A and B, three runs each. A different occupation: 3 of 3 on side A, 0 of 3 on side B. Family mentioned: 1 of 3 on each side. Write the two sentences about that. For Part 2 use any short description of a person that someone else wrote.
Six runs rather than two, because two fresh conversations differ in two ways — the attribute you changed and the system's own run-to-run variation — and a single pair cannot tell you which one you are looking at. Three each is not a study. It is the smallest number that lets you see whether a difference persists, and seeing that is the point of the exercise.
Then write two sentences, and be careful about both:
What this comparison established: …
What it did not establish: …
The second sentence is the harder one and the one that matters. Six runs are six runs, and with so few even a clean pattern could be chance; more runs would test it. If a feature showed up on one side every time and never on the other, you have a pattern worth reporting; if it showed up twice on one side and once on the other, you have watched a system vary. Either way you have not measured a rate, you have not shown that no difference exists elsewhere, and you have not found the cause.
Report it as what it is: on this system, on this date, across three pairs, these features appeared this often. That sentence is defensible. "The model is biased against X" is not, on this evidence, and the defence you write in Unit 17 turns on the difference.
If the outputs were near-identical throughout, say so. That is a result, with the same limits attached.
Part 2 — who is missing (3 minutes)
Take one of the outputs and answer three questions.
| Who or what is not in this output? | |
| Would I have noticed if I had not been asked? | |
| Is there a version of this task where that absence would matter? |
The middle row is the point. Absences are easy to miss when your reference omits the same groups, which is why this starts with a prompt rather than a procedure. Where you can, also compare against a list of relevant groups assembled independently of the output.
Part 3 — the checkable part (5 minutes)
Take a piece of generated material you might actually publish or hand in: a figure with a caption, a page with headings, a slide, a short document.
If you have no AI access, use a page or slide a person made, and write both versions of the alt text yourself, one saying what is in the image, one saying what it is for.
Run the checks. A tool settles contrast and a skipped heading level; the others need your judgement:
- [ ] Alt text on every image. Does it say what the image conveys for the purpose you are using it for, not just what is in it?
- [ ] Headings in order, with no level skipped where the structure does not skip.
- [ ] Contrast meets the standard. Use a contrast checker; it takes seconds.
- [ ] Link text that means something out of context.
- [ ] No meaning carried by colour alone.
Record what failed. Then rewrite one piece of alt text yourself and note the difference between the two versions — the generated one will usually describe the contents, and yours will describe the function.
Now take the checkpoints
cp15-what-a-check-shows is about Part 1's second sentence.
cp15-alt-text is about Part 3.
python3 selfcheck.py run cp15-what-a-check-shows # or in the browser
python3 selfcheck.py run cp15-alt-text # or in the browser
Run the Python route from The verification lab and self-check, or use the browser self-check.
Optional extensions
Optional. These sit outside the core study time, are not required for the checkpoints, and nothing later in the course depends on them.
Test the thin half (about 6 minutes). Ask for something specific about a smaller place, a smaller language, or a less-documented practice that you happen to know well. Then check it. This is the half of the unit that gets less attention and it is often where the clearest errors are — and you are one of the few people positioned to catch them, which is itself the finding.
Read this course's own accessibility output (about 4 minutes). Run
make check-accessibility and read what it prints, including the list at the end
of things it cannot decide. Compare that list with the checks you ran in Part 3.
A pass from a machine is not the same as a claim that the page meets the
standard, and the script says so itself.
Marking guidance — open this once you have done the activity, to check your own work
Read this after attempting the activity.
Part 1 — the two sentences
What it established. A good answer is narrow, specific and counted: "changing the name from one associated with one country to one associated with another produced a different described occupation in three runs out of three on one side and none on the other; a sentence about family circumstances appeared once on each side, which is the system varying". Frequencies, on that system, on that day.
What it did not establish. This is where most answers overreach, in one of four ways:
| Overreach | Why it is wrong |
|---|---|
| "This shows the system is biased" | A general claim from six observations on one system on one day. You have a pattern, not a rate. |
| "This shows it treats X worse" | "Worse" is a judgement the comparison does not make. You observed a difference; whether it is a harm depends on the use. |
| "The difference was small, so there is no problem" | Sampling a little and finding little is weak evidence for absence, and you have not looked at what is missing from both. |
| "The attribute caused this" | Three pairs can show that a difference persists, and with so few runs even that could be chance. They do not show the size of the effect or the mechanism. |
The honest version sounds thinner than any of those, and it is the only one you can defend: across three pairs, these features appeared this often on each side, on this system, on this date.
If a feature appeared once on one side and not the other, that is consistent with the run-to-run variation the repetition exists to expose, and the answer is that you found nothing about the attribute — which is a real result and not a failed exercise.
If your outputs were near-identical throughout, the same discipline applies in the other direction. "No difference across three pairs" is a result; "there is no bias here" is not something six runs can support.
Part 2 — the middle row
The question is deliberately about you, not the output.
The most common honest answer is no, and that is the finding. An absence cannot be seen, by its nature: nothing in an output flags what it left out, and nothing in your reading of it will either, unless you go looking. This is the same structure as the unstated assumption in Unit 2, where the gap is invisible to the person holding it.
If you answered yes, check whether the absence was of something you happen to know about. That is usually why an absence becomes visible. It is also a reason for the last thing this unit asks: escalate what you cannot check. The people best placed to notice a particular absence usually know that area, so ask them rather than checking alone.
Part 3 — alt text is the tell
The pattern almost everyone finds: generated alt text describes contents, because contents are what is in the image. Useful alt text describes function — what the image is doing in your document, which is not in the input because it depends on why you put it there.
A worked comparison:
Generated: "A line graph with a blue line rising from left to right, with the x-axis labelled 2019 to 2024."
Yours: "Participation rose without interruption from 2019 to 2024."
The first describes the picture. The second says what the reader is meant to take from it — and a reader using a screen reader needs the second, because they cannot supply it from the picture.
Note that this is not a criticism of the generated version. It is an accurate description. It is answering "what is in this image", which is the only question it can answer when the image is in the request and your reason for including it is not.
If everything passed, check that you ran the contrast test with a tool rather than by eye. Contrast is the one that looks fine and fails, particularly for grey text on white, which is the most common failure on the web and the easiest to introduce without noticing.
The checkpoints
cp15-what-a-check-shows tests whether you can say exactly what a finding
covers, and no more. Unit 9 and Unit 17 use the same skill. The tempting wrong
answers generalise from one comparison, both when they accuse the system and
when they clear it.
cp15-alt-text tests the contents-versus-function distinction, which is the one
practical thing in this unit you can put right in a sentence.
Your private activity record
Browser storage is not a permanent copy
Progress is kept only in this browser, profile and device. Private browsing, clearing site data, removing the profile, a browser reset, storage eviction or device loss can erase it. Keep important answers and contributions separately.
These notes stay in this browser unless you download a backup or activity log.