# Easy-to-read worked example – findings

Service: rewriting official texts into Turkish *kolay okunur metin*, English *Easy Read* and German *Leichte Sprache*, delivered as accessible HTML, DOCX and tagged PDF.
Prepared by Ali Karabüyük. All numbers below come from the scripts in `work/` (`measure.py`, `qa.py`, `report.py`). Re-run with:

```
cd work
python3 measure.py metrics.json          # readability + rule counts
python3 build.py ../final                # HTML, DOCX, tagged PDF
python3 qa.py qa-outputs.json ../final/easy-read-kvkk-{tr,en,de}.html   # axe-core + layout
python3 report.py                        # report HTML/JSON + PNGs
java -jar vnu.jar --errors-only ../final/*.html   # exit 0
```

## 1. Source and license

| Item | Value |
|---|---|
| Text | 6698 sayılı Kişisel Verilerin Korunması Kanunu (KVKK), Madde 11 "İlgili kişinin hakları" and Madde 13 "Veri sorumlusuna başvuru" |
| Published | Resmî Gazete 7/4/2016, No. 29677 (accepted 24/3/2016) |
| Source URL | https://www.mevzuat.gov.tr/mevzuat?MevzuatNo=6698&MevzuatTur=1&MevzuatTertip=5 (official PDF on the same site: /MevzuatMetin/1.5.6698.pdf) |
| Retrieved | 2026-10-06, page text through a scraping service (HTTP 200). SHA-256 of the retrieved page text: `85b31deae8fbbd53ef0443b2d2b04b902d817caa8235cb250ee01448e0d678d5` |
| Integrity | Text used = text fetched, word for word (script compare printed `IDENTICAL`). No "Değişik/Ek" amendment notes on Art. 11 or 13. |
| License | Not protected by copyright in Turkey: Law No. 5846 (FSEK) Art. 31 (laws, regulations, official announcements are free to use). |
| EN/DE "before" texts | Faithful standard-language translations by Ali Karabüyük, made **only** as the measurement baseline. Not official translations. File: `easy-read-baseline-standard-en-de.txt`. |
| Fictional data | None. No clients or reviews are involved. |

All three easy versions (TR, EN, DE) were written from the same source meaning (Art. 11 + 13). The German was written from the source meaning, not as a translation of the English version.

## 2. Readability before → after (measured)

Measured on the body text. Headings and the colophon are excluded. List labels (`MADDE 11-`, `(1)`, `a)`) are stripped. All texts use one sentence splitter.

| Metric | TR official | TR kolay okunur | EN standard* | EN Easy Read | DE standard* | DE Leichte Sprache |
|---|---|---|---|---|---|---|
| Ateşman (↑ easier) | **−3.2** | **74.7** | – | – | – | – |
| Bezirci–Yılmaz (↓) | **39.88** | **7.93** | – | – | – | – |
| Flesch Reading Ease (↑) | – | – | **18.4** | **67.1** | – | – |
| Flesch–Kincaid Grade (↓) | – | – | **22.0** | **5.9** | – | – |
| Flesch-Amstad (↑) | – | – | – | – | **11.7** | **77.8** |
| Wiener Sachtextformel 1 (↓) | – | – | – | – | **15.1** | **2.7** |
| Sentences / words | 7 / 205 | 59 / 343 | 7 / 319 | 59 / 485 | 7 / 265 | 67 / 463 |
| Avg sentence length (words) | 29.29 | 5.81 | 45.57 | 8.22 | 37.86 | 6.91 |
| Longest sentence (words / chars) | 113 / 940 | 10 / 66 | 169 / 1044 | 13 / 73 | 151 / 1160 | 12 / 71 |
| Sentences > 15 words | 4 | 0 | 7 | 0 | 6 | 0 |
| Long words % (TR ≥4 syll., EN/DE ≥3) | 34.1 | 22.4 | 17.9 | 12.0 | 31.3 | 8.4 |
| Paragraph/list blocks; list items | 4; 0 | 5; 23 | 4; 0 | 5; 23 | 4; 0 | 5; 23 |

\* translation baseline, see §1.

textstat 0.7.13 cross-check (it uses its own sentence rule and drops sentences of ≤ 2 words): EN FRE 18.70 → 68.54, FK 21.97 → 5.74; DE Amstad 11.90 → 78.98, WSTF1 15.05 → 2.64. These match our own values to within 1.5 points.

What the bands mean (as published by the formula authors): Ateşman 70–89 = "easy". Bezirci–Yılmaz ≈ school grade (7.93 falls in the primary-school band 1–8). FRE 60–70 = "plain English". FK 5.9 ≈ US grade 6. Amstad 70–80 = "fairly easy". WSTF1 2.7 is below the formula's grade-4 floor. The Turkish easy text still has 22.4 % words with ≥ 4 syllables. Turkish is agglutinative: for example *verilerinizi* has 6 syllables. Syllable formulas penalise this even when the word is common.

## 3. Rule checklist (automated counts)

| Rule | Detector | TR before → after | EN before → after | DE before → after |
|---|---|---|---|---|
| One statement per sentence (proxy: no sentence > 15 words) | word count | 4 → 0 | 7 → 0 | 6 → 0 |
| Active voice | regex heuristic, matches reviewed | 26 → 1 (*okunur* in the fixed term "kolay okunur") | 12 → 0 | 4 → 0 sentences with *werden*-passive |
| Avoid negation | regex heuristic, reviewed | 2 → 0 | 0 → 0 | 0 → 0 |
| No genitive chains (DE) | regex heuristic | – | – | 12 → 0 genitive links |
| Long compounds split with Mediopunkt (DE) | words ≥ 13 letters without · or - | – | – | 16 → 3 (*Verantwortlicher*, *Widersprechen* ×2: not compounds, left whole on purpose). Compounds split: Daten·schutz·amt, Gesetzes·text, Telefon·nummer, kosten·los |
| Hard words explained at first use (6 shared concepts: personal data, controller, Board, apply, delete, object) | first occurrence is in a glossary entry or a "means/demek/heißt:" sentence | 0/6 → 6/6 | 0/6 → 6/6 | 0/6 → 6/6 |
| Numbers as digits | number words | 1 (*otuz*; plus ordinal "7 nci") → 0 | 1 (*thirty*) → 0 | 1 (*dreißig*) → 0 |
| Address reader directly | % sentences with 2nd person | 0.0 → 62.7 | 0.0 → 67.8 | 0.0 → 53.7 |
| Dates format | dd.mm.yyyy pattern in body | 0 → 0 (no dates in the passage) | 0 → 0 | 0 → 0 |

Heuristic false positives were removed by hand. All removed items are listed in `easy-read-readability-report.json`:
- TR passive: *kendisiyle, kendisi, metindir, kişiler, verebilir*.
- TR negation: *yok* in *yok et-* ("destroy").
- EN negation: *no* in "yes or no" and "says no".

## 4. Output accessibility checks

| Check | Tool | Result (TR / EN / DE) |
|---|---|---|
| axe-core rules wcag2a, 2aa, 21a, 21aa, 22aa, best-practice | axe-core 4.13.0 in Chromium 141.0.7390.37 (playwright) | **0 violations**, 0 incomplete, 34 rules passed, for each of the 3 HTML files. The report HTML also has 0 violations (31 rules passed). |
| HTML validity | Nu Html Checker (vnu.jar 26.10.2) `--errors-only` | 0 errors (exit 0), all HTML files |
| `lang` attribute | computed | tr / en / de; PDF `/Lang` tr-TR / en-GB / de-DE; DOCX `w:lang` tr-TR / en-GB / de-DE |
| Line spacing | computed style | 1.5 |
| Font size | computed style | screen 20 px (15 pt); print 18.67 px = **14 pt** |
| Alignment | computed style | left; 0 justified elements; no auto-hyphenation |
| Structure | DOM | 1 h1, 5 h2, 3 lists or glossary (`ul`, `dl` + `dfn`), one sentence per line |
| Sentences that wrap to a 2nd line | layout measurement | screen (1280 px): 2/59, 4/59, 3/67. A4 print width: 2/59, 4/59, 3/67. No sentence takes more than 2 lines. |
| Tagged PDF | Chromium `page.pdf(tagged=True, outline=True)`; tags counted with pikepdf | StructTreeRoot present, MarkInfo /Marked true, bookmarks present. Tags: Document, H1 ×1, H2 ×5, L ×2, LI ×17, P 63 / 63 / 71. 4 / 4 / 5 pages A4. Fonts embedded (DejaVu Sans). |
| Metadata | pikepdf / python-docx | Author "Ali Karabüyük", title set, DisplayDocTitle true; DOCX Application "python-docx". No AI or tool-vendor mentions in the files (grep check). |

## 5. Files (final/)

| File | Bytes |
|---|---|
| easy-read-baseline-standard-en-de.txt | 4,848 |
| easy-read-before-after-tr.png | 320,429 |
| easy-read-kvkk-de.docx | 38,847 |
| easy-read-kvkk-de.html | 9,516 |
| easy-read-kvkk-de.pdf | 111,642 |
| easy-read-kvkk-en.docx | 38,594 |
| easy-read-kvkk-en.html | 8,929 |
| easy-read-kvkk-en.pdf | 105,543 |
| easy-read-kvkk-tr.docx | 38,660 |
| easy-read-kvkk-tr.html | 8,875 |
| easy-read-kvkk-tr.pdf | 104,979 |
| easy-read-readability-report.html | 19,123 |
| easy-read-readability-report.json | 38,160 |
| easy-read-score-table.png | 165,345 |
| easy-read-source-kvkk-tr.txt | 3,198 |
| easy-read-worked-example.zip (all files above + findings.txt + findings.json + method/ scripts) | see summary |

PNG sizes: easy-read-before-after-tr.png 1600 × 1410 px; easy-read-score-table.png 1500 × 903 px.

## 6. What the tools do NOT check (limits)

- Readability formulas count surface features (sentence length, syllables, letters). They do not measure comprehension. A short sentence can still be unclear.
- **No test readers.** A German Leichte Sprache text must be checked by a Prüfgruppe of people with learning difficulties before it may carry a Leichte Sprache logo. This follows the Netzwerk Leichte Sprache rules and DIN SPEC 33429:2023, which recommends the check. An Easy Read text needs checking by people with intellectual disabilities before it may use the Inclusion Europe Easy-to-Read logo ("Information for all", 2009). Neither check was done. The DE file says "Entwurf, nicht geprüft" in its subtitle, and every output says this in its colophon.
- The Turkish formulas (Ateşman 1997; Bezirci–Yılmaz 2010) were calibrated on school texts. Applying them to adult public information is an approximation.
- Syllables: TR = vowel count. EN = CMUdict, with pyphen as fallback. DE = pyphen hyphenation, which is approximate for compounds. Numerals are counted in their spoken form (num2words). DE Mediopunkt words are measured joined, which is the conservative choice.
- Passive, negation, genitive and direct-address detectors are regex heuristics. They can miss cases or flag wrong ones. Counts are shown both raw and after manual review.
- axe-core detects only part of WCAG automatically. It does not judge plain-language quality, pictogram suitability or meaning. The tagged PDFs come from Chromium. The glossary `dl` is tagged as NonStruct (not as a list) and the PDFs were **not** validated against PDF/UA or by a screen-reader test. The DOCX files were not run through the Word accessibility checker.
- The pictograms are decorative (`aria-hidden`). No symbol system (for example METACOM) was used.
- **Legal meaning:** the easy versions explain the law. They are not legally binding, and each output says so in its own text. The legal meaning must be checked by the text owner or a lawyer. Some simplifications drop detail: Art. 7 is described by an example, "silinmesi veya yok edilmesi" becomes one "delete", and "zararın giderilmesi" becomes "pay for / karşılamak". This is not legal advice.
- The EN/DE baselines are my own translations, so the before scores for EN/DE depend on translation style.

## 7. References

- Ateşman, E. (1997). Türkçede okunabilirliğin ölçülmesi. *Dil Dergisi*, 58, 71–74.
- Bezirci, B., Yılmaz, A. E. (2010). Metinlerin okunabilirliğinin ölçülmesi üzerine bir yazılım kütüphanesi ve Türkçe için yeni bir okunabilirlik ölçütü. *DEÜ Mühendislik Fakültesi Fen ve Mühendislik Dergisi*, 12(3), 49–62.
- Flesch, R. (1948). A new readability yardstick. *Journal of Applied Psychology*, 32(3), 221–233.
- Kincaid, J. P., Fishburne, R. P., Rogers, R. L., Chissom, B. S. (1975). *Derivation of new readability formulas…* Research Branch Report 8-75, Naval Technical Training Command.
- Amstad, T. (1978). *Wie verständlich sind unsere Zeitungen?* Dissertation, Universität Zürich.
- Bamberger, R., Vanecek, E. (1984). *Lesen – Verstehen – Lernen – Schreiben.* Wien: Jugend und Volk.
- Inclusion Europe (2009). *Information for all – European standards for making information easy to read and understand.*
- Netzwerk Leichte Sprache. *Die Regeln für Leichte Sprache.* DIN SPEC 33429:2023-04, *Empfehlungen für Deutsche Leichte Sprache.*
