Blogi

Vieritykseen perustuvat animaatiot: animation-timeline IntersectionObserverin sijaan

JavaScript-parallax näyttää aina hieman väärältä — hieman irralliselta, kuin kerrokset uisivat puoli ruutua sivun takana. Se ei ole huolimatonta koodia. Se johtuu siitä, että vieritystapahtumat saavuttavat JavaScriptin sen jälkeen kun selain on jo piirtänyt vierityksen. Selain ratkaisi tämän kerran, kun se muutti tarrautuvat otsikot position: sticky -ominaisuudeksi. Scroll-driven animations on sama veto, sovellettuna kaikkiin vieritykseen sidottuihin efekteihin kerralla.

Popover API ja natiivi <dialog>: loppu käsin tyhjästä rakennetuille modaaleille

Saavutettavuusartikkelissa display:none-määrityksellä piilotettu modaali, joka oli silti olemassa saavutettavuuspuussa, oli esimerkki virheestä, joka syntyy, kun modaali rakennetaan tyhjästä diveillä. Todellinen kysymys kuuluu: miksi se piti ylipäätään rakentaa tyhjästä? Tarkastelen, mitä natiivi <dialog> ja popover-attribuutti antavat ilmaiseksi – top layerin, fokusloukun, light dismissin – ja missä nämä kaksi mekanismia eroavat toisistaan niin paljon, että niiden sekoittaminen on suora tie saavuttamattomaan käyttöliittymään.