📦 EqualifyEverything / benchmarks-ai-alt

📄 batch-03-notes.md · 71 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71# Batch 03 notes

30 items in, 11 kept, 19 dropped.

The rule is in [batch-01-notes.md](batch-01-notes.md) and the extra
distinctions in [batch-02-notes.md](batch-02-notes.md). Both hold here.


## The line I had to draw: icon or content image

Three items in this batch are pictures inside a control, with a correct empty
alt, and one is an icon in the same shape. They cannot all go the same way, so
the line is this: a glyph, a logo or a UI icon is a functional image; a
photograph, a book cover or a video still is a content image that happens to sit
inside a link.

- Dropped as not functional: `fi-1650`, a video thumbnail in a disclosure
  summary, and `fi-2691`, a regulations cover photo in a link. Both have the
  right empty alt. Both are `alt_quality: good` and `verdict: drop`, which is
  the combination that says the site did nothing wrong and the item still does
  not belong in this corpus.
- Kept: `fi-10771`, a generic component icon with an empty alt beside the link
  text "Core". Same mechanics, but the graphic stands for a thing in the
  interface.

`fi-9379` in batch 01, a book cover, went the same way as `fi-1650`.


## Over-description is a distinct failure from bare brand naming

`fi-2693` is the clearest example the corpus has of alt text that fails by
saying too much: `Section508.gov Home; GSA Starmark Flag logo with text:
Section508.gov Buy. Build. Be Accessible.` The first two words are exactly
right. Everything after the semicolon describes the artwork and transcribes the
tagline, which the W3C position quoted in the root README calls irrelevant to a
screen reader user. Dropped as weak, and worth keeping in the record as the
opposite pole from `fi-1631`'s bare `W3C`.


## Hidden is not aria-hidden

`fi-7285` in batch 02 was dropped partly because the control carried `hidden`
and `aria-hidden="true"` together. `fi-1662`, the Node.js theme toggle, carries
`hidden` alone, and is kept. The distinction: `hidden` alone is a progressive
enhancement gate, removed by the same script that makes the toggle work, and a
theme toggle without script has nothing to toggle. `aria-hidden` on top of it
means the control stays excluded from assistive technology even once it is
displayed.


## Two more good keeps worth naming

- `fi-1065`, IKEA. `alt=""` on the image and `aria-label="IKEA Home"` on the
  link. Brand plus destination, and nothing said twice.
- `fi-10789`, bugs.python.org. `alt="homepage"` on the Python logo. Four
  letters shorter than the brand name and infinitely more useful, which is the
  whole argument of the criteria in one item.


## Sub-types corrected

- `fi-1065` to `linked-standalone-logo`. The href is the locale home page, which
  is the root a person means, but not the bare domain, so harvest's root test
  missed it. That is now the same finding three batches running.
- `fi-2707` to `form-control-or-image-button`, a search submit button, following
  `fi-2616` in batch 02.
- `fi-9573` to `action-or-toggle-icon`. Its href is a fragment and script posts
  the page to Facebook, so it is not a navigational link at all. That is also
  why its alt is dropped: a person hears "Facebook" and expects to be taken
  there rather than to publish something.