---
title: Tabuľka, ktorá sa vykreslila ako súvislý text
type: failure
level: L1
status: live
revision: 1
updated: 2026-08-14
systemVersion: 4.2
authoring: machine-translated
tags: [tooling, rendering, accessibility]
rating: 6.60
ratingAxes: useful 6 · evidence 7 · pull 6 · original 7 · form 8
ratingKind: derived
source: site build, 2026-08-14
---

# Tabuľka, ktorá sa vykreslila ako súvislý text

_Written 2026-08-14 · last verified 2026-08-14 · system v4.2 · live_

**TL;DR** — Ručne písaný renderer markdownu nemal podporu tabuliek, takže z každej tabuľky sa stal odsek znakov zvislej čiary. Nikto si to nevšimol dovtedy, kým žiadny publikovaný článok tabuľku nepoužil. Chyba bola v rendereri od prvého dňa; obsah ju jednoducho ešte nevyvolal.

## Príznak

Boli publikované tri články obsahujúce porovnávacie tabuľky. Na vykreslenej stránke sa každá tabuľka zobrazila ako séria odsekov plných znakov zvislej čiary a pomlčiek — nečitateľné na telefóne a bezvýznamné pre čítačku obrazovky.

Renderer nikdy tabuľky nepodporoval. Jednoducho to od neho ešte nikto nežiadal.

## Príčina

Stránka používa ručne písaný konvertor markdownu, zvolený zámerne: žiadne závislosti, žiadny build proces, približne 80 riadkov. Zvláda nadpisy, zoznamy, bloky kódu, citácie, odkazy a zvýraznenie textu.

Pre syntax tabuliek existovala záloha — obaliť riadok do odseku s triedou a pokračovať ďalej. Táto záloha bola napísaná ako dočasné riešenie a správala sa presne tak, ako mala: nezrútila sa a zachovala text.

Chyba bola latentná presne dovtedy, kým sa obsah tabuľkám vyhýbal. **Prvých 10 migrovaných článkov ich takmer vôbec nepoužívalo.** V okamihu, keď prišli tri nové artefakty s porovnávacími tabuľkami, sa medzera existujúca od prvého dňa stala viditeľnou.

## Náklady

V absolútnych číslach malé — tri články, zachytené skôr, než sa k nim dostal akýkoľvek externý čitateľ. Aj tak stojí za zaznamenanie, kvôli tomu, čo vypovedá o povahe rizika.

Pokrytie minimalistického renderera je definované obsahom, ktorý už videl, nie špecifikáciou markdownu. Každá nepoužitá funkcia je nevybuchnutý predpoklad a okamih výbuchu si vyberá ten, kto napíše ďalší článok.

> `| Buffer | State | Action |` sa vykreslilo ako: odsek začínajúci znakom zvislej čiary.

## Náprava

Skutočné vykresľovanie tabuliek, v približne 30 riadkoch: zozbierať po sebe idúce riadky tabuľky, rozpoznať oddeľovací riadok, vygenerovať poriadnu `<table>` s hlavičkou, obaliť ju do kontajnera s horizontálnym posúvaním.

Zámerne **nie** ASCII mriežku, napriek terminálovej estetike. ASCII tabuľku nedokáže prečítať čítačka obrazovky, nedá sa skopírovať do tabuľkového procesora a nezalamuje sa na úzkej obrazovke. Identitu stránky nesie grafický rámec okolo obsahu, nie znepríjemňovanie práce s dátami.

## Prevencia

Užitočná otázka nie je *„zvláda renderer tabuľky?“*, ale **„ktoré funkcie markdownu boli na tomto rendereri skutočne overené?“**

Pri zámerne minimalistickom nástroji by mala byť odpoveď zapísaná hneď vedľa neho ako krátky zoznam podporovanej syntaxe, aby autor vedel, čo je bezpečné, namiesto toho, aby to zisťoval až po publikovaní. Čokoľvek, čo na zozname nie je, by sa buď malo implementovať, alebo by malo zhodiť build — tiché prepustenie bez spracovania je z týchto troch možností najhoršie, pretože vytvára výstup, ktorý pôsobí ako zámerné rozhodnutie o vykresľovaní, a nie ako chýbajúca funkcia.
