Time: about 20 minutes. Read page.md 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.
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. 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 Unit 17 is about 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. Absence is the failure mode that no comparison catches — you cannot compare against something you did not think of — which is why it needs a prompt rather than a procedure.
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.
Run the checks that have definite answers:
- [ ] 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 jumps.
- [ ] 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
python3 selfcheck.py run cp15-alt-text # or in the browser
Run the Python route from course/lab/, 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 module 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 module'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 green result from a machine and a conformance claim are different things, 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, and added a sentence about family circumstances in two runs out of three that appeared in none of the others". Frequencies, on that system, on that day.
What it did not establish. This is where most answers overreach, in one of three 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. Persistence is not a mechanism, and you did not look inside anything. |
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 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. Absence is invisible by construction: 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 absences become visible, and it is an argument for the thing this unit ends on: the people positioned to notice a particular absence are usually the people who know that area, which is a reason to ask rather than to check 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 the system cannot know 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 steadily from 2019 to 2024, with no interruption during the years the scheme was suspended."
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 available to something that does not know why you included it.
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 the scoping of a finding, which is the same skill
as Unit 9's scoped statement and Unit 17's defence. The tempting wrong answers
generalise from one comparison — in both the accusing and the exonerating
direction.
cp15-alt-text tests the contents-versus-function distinction, which is the one
practical thing in this unit that produces a definite right answer.
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.