Doufám, že to (alespoň v prohlížečích odvozených od Chromia) půjde vypnout, aby ty navštívené odkazy dál fungovaly globálně. Protože to, že jsem nějakou stránku navštívil, mne zajímá globálně, je mi jedno odkud. A že to někdo dokáže zjistit – no tak ať si tu informaci užije.
Tohle už řešil Martin Hassman v odkazovaném článku z roku 2008. Ta vlastnost totiž v CSS může ovlivnit libovolný sourozenecký, rodičovský i potomkovský objekt a libovolně mu změnit jakykoliv parametr. JavaScript se pak může ptát na podobu toho prvku a tím zjistit stav odkazu.
Buď bychom tedy museli zakázat skriptům přístup k DOM nebo by se musela ta historie odkazů úplně vypnout.
To je nereálné. Ona ta informace není přímo dostupná v JavaScriptu. Ale je možné pro ten navštívený odkaz nastavit libovolnou CSS vlastnost. Takže třeba obrázek na pozadí, který se stáhne ze serveru. To by se ještě dalo ošetřit (a možná už to tak Chrome má), že externí objekty to stáhne vždy. Ale ono se tomu dá nastavit třeba o pixel větší písmo, což způsobí jiné zalomení odstavce, a něco se třeba posune mimo viditelnou oblast stránky – a to všechno už se dá detekovat JavaScriptem. I kdyby se do JavaScriptu podvrhla původní barva odkazu, původní velikost písma, ty další vyvolané změny nejde před JavaScriptem skrýt.
Ale je to škoda, protože se kvůli pár jedincům (nevěřím, že by to na celém světě zneužívalo víc než jednotky lidí) zničí užitečná drobnost. I kdyby se to dalo volitelně zase zapnout, udělá to jen pár lidí. To, že nejde takovéhle nemorální chování na internet trestat, je docela problém.
Riešiteľné to samozrejme je, a veľmi jednoducho. Stačí že navštívené vs nenavštívené nebudú zvýraznené pomocou zmeny v DOM ale až pri renderingu samotnom. Je to len zmena farby, to je ako keď si na monitore zmeníš teplotu farieb alebo nastavíš čiernobiele zobrazenie. Web o tom skutočne nemusí vedieť.
Doporučuji si přečíst https://developer.mozilla.org/en-US/docs/Web/CSS/:visited#privacy_restrictions. Browsery běžně (nebo se to už změnilo zpátky?) už dlouhou dobu limitují, které vlastnosti jde pomocí této pseudotřídy nastavit, včetně podvrhování stavu v DOM mebo při vykreslování do obrázku.
Právě proto, že se to prohlížeče už dlouho snaží řešit, ale je to jako přelévat rybník cedníkem, řeší Chrome ten úplný zákaz. Protože je prostě principiálně neřešitelné zobrazit uživateli nějaké informace a pokoušet se je skrýt před JavaScriptem. Navíc ty omezené vlastnosti řeší jen zobrazení, ale web by měl být přístupný i jinými formami, třeba pro poslech.
Jasně, ale garantuji, že ty naše stránky nic nesledují.
Přínos označování navštívených odkazů považuji za mnohonásobně vyšší, než případná rizika. Opravdu předpokládám, že to je v podstatě základní funkčnost.
A proto mi vadí, když to znenadání přestane fungovat. A proto doufám, že ji lze zase vrátit. (IMHO by takovéto změny měly být striktně opt-in, nikoliv opt-out.)
I pokud by jediné povolené v :visited byl atribut color, šlo by takový odkaz zamaskovat. Měl bych na stránce dva odkazy, oba by vedly na stejnou stránku, reálně by prostřednictvím onClick směřovaly oba jinam (bylo by to třeba „Další“). Stránka by to nepoznala přímo, ale uživatel by pravděpodobně klikal na odkaz, který není zamaskovaný, což by byl jen jeden.