Direct answer: Across 10 sites and 36 article pages there are 514 <img> elements. None declares width and height, none uses loading="lazy", none has srcset, and none has decoding or fetchpriority.
Alt coverage is better than delivery attributes: 395 images have non-empty alt (76.8%), 24 are empty (4.7%) and 95 are missing (18.5%). Site differences are large: E03, E14 and E23 are complete, while E16 has 3 of 42, E26 4 of 16 and E28 1 of 12.
Method: reuse study 45 pages, read img attributes only
The study reads the 36 article pages fetched in study 45 on 2026-11-03 between 08:40 and 08:41 (10 sites; five JS shells excluded), with zero network requests. Each <img> is checked for alt, width, height, loading, srcset, decoding and fetchpriority; page-level counts include navigation and footer images.
| Attribute | Rule | Boundary |
|---|---|---|
| Width/height | Both attributes present | Static attributes only |
| lazy | loading equals lazy | JS lazy loading and data-src are not detected |
| srcset | Attribute present | Candidate sizes not judged |
| alt | Text / empty / missing | Wording quality not judged |
| decoding / fetchpriority | Attribute present | Values not judged |
Result: no delivery attributes at all
| Attribute | Images | Share of 514 |
|---|---|---|
| width + height | 0 | 0% |
loading="lazy" | 0 | 0% |
srcset | 0 | 0% |
decoding | 0 | 0% |
fetchpriority | 0 | 0% |
Compared with study 42 on homepages, articles are more extreme: of 978 homepage images, 17 declared dimensions and 35 had srcset, while none of the 514 article images does. The article template simply does not connect these attributes, so this is not per-article omission.
Alt: 76.8% have text, 18.5% missing
| Alt state | Images | Share of 514 |
|---|---|---|
| Non-empty text | 395 | 76.8% |
| Empty string | 24 | 4.7% |
| Missing | 95 | 18.5% |
| Site | Images | Text alt | Empty alt | Missing alt |
|---|---|---|---|---|
| E03 | 87 | 87 | 0 | 0 |
| E06 | 61 | 51 | 0 | 10 |
| E09 | 66 | 50 | 0 | 16 |
| E14 | 108 | 108 | 0 | 0 |
| E16 | 42 | 3 | 6 | 33 |
| E19 | 5 | 2 | 0 | 3 |
| E22 | 66 | 38 | 15 | 13 |
| E23 | 51 | 51 | 0 | 0 |
| E26 | 16 | 4 | 1 | 11 |
| E28 | 12 | 1 | 2 | 9 |
E03, E14 and E23 cover all images; E16 has 33 missing and 6 empty out of 42, and E26/E28 are also mostly missing. Alt coverage and width/lazy are separate layers: the text layer is partly done, the delivery layer is not.
What this means for acceptance
- Dimensions are a template gap. Zero of 514 declare them, so image loading can shift layout; add width/height or aspect-ratio in the template.
- No lazy means everything loads up front. No image uses loading=lazy, so long-article images join the initial requests.
- No srcset means one size. Desktop and phone receive the same file, with no per-viewport choice.
- Alt coverage is uneven. Overall 76.8%, but E16, E26 and E28 are far lower and should be fixed first.
- Fix the template before single articles. All five delivery attributes are zero, so the defect sits in the article template.
Limits
- Static attributes: JS lazy loading, data-src, CSS backgrounds and runtime dimensions are not detected.
- Page level: images in navigation, footer and recommendation modules are included; body images are not separated.
- Cached, zero-request: HTML fetched on 2026-11-03 08:40–08:41; later changes are not reflected.
- No effect measured: CLS, load time and image weight are not tested.
- 10 sites, 36 pages: a pilot, no industry claim.
Data and reproduction
Anonymised data: equipment-article-img-attrs-2026.csv (36 rows × 11 columns: image count, three alt classes, width/height, lazy, srcset, decoding, fetchpriority). The repository keeps docs/research/2026-11-article-img-attrs.csv.
Parser: scripts/article_img_attrs_probe.py; unit tests: scripts/test_article_img_attrs_probe.py (6 tests, no network). Run:
python -m unittest scripts.test_article_img_attrs_probe
Related: the article image alt pilot, the homepage image attributes pilot, and the article heading outline pilot., and the page text share pilot, and the article alt copy pilot, and the alt text quality checker
Sources and definitions
- Article cache: 36 pages from 10 sites in study 45 (2026-11-03 08:40–08:41), five JS shells excluded.
- Attributes: img alt/width/height/loading/srcset/decoding/fetchpriority.
- Alt classes: non-empty, empty, missing; page level includes navigation and footer.
- Scan: 2026-11-05, zero network requests.