[{"data":1,"prerenderedAt":42},["ShallowReactive",2],{"--FzjxgvRPeVm_id_o_9Ff0ZkfRvJcIb1ZIrLGmD9T0":3,"_apollo:default":27},{"talks":4},[5],{"__typename":6,"id":7,"name":8,"abstract":9,"youtubecode":10,"category":11,"createdAt":12,"speakers":13,"event":23},"Talk","ckospkz5sya7i0d47391rzxx5","Complex and accessible JavaScript widgets with simple HTML","The Accessible Rich Internet Applications standard (ARIA, https:\u002F\u002Fwww.w3.org\u002FWAI\u002Fstandards-guidelines\u002Faria\u002F) introduced concise requirements regarding accessible implementations of various interactive usage patterns. However, compatibility varies a lot between browsers and screen readers. As such, it's still a pain to create accessible cross-browser\u002Fplatform\u002Fdevice JavaScript widgets.\nInstead of using WAI-ARIA, it's possible to create most interactive usage patterns by dividing them into simple HTML form controls, connecting them with some JavaScript, styling them as wanted, and adding only a tiny bit of ARIA here and there for polishing. This results in widgets that rely on rock solid browser standard behaviour in most of their functionality. In my talk, I will show how to create sophisticated widgets (like autocompletes, tabs, date pickers, or accordions) using basic HTML, CSS, and JavaScript: they are compatible with each and every browser and assistive device (ie. screen reader). As such, they truly work for everyone - and are extremely cheap in terms of performance and maintenance.",null,"Frontend","2021-05-17T14:34:40.250481+00:00",[14],{"__typename":15,"id":16,"name":17,"speakerPicture":18},"Speaker","ckospktrcya1e0d47tm3riujz","Josua Muheim",{"__typename":19,"url":20,"handle":21,"fileName":22},"Asset","https:\u002F\u002Feu-central-1.graphassets.com\u002FAYopFRtiZSsGRyNXA0N4nz\u002FwozPek2nRHxzDnkHEjtx","wozPek2nRHxzDnkHEjtx","convert.png",{"__typename":24,"id":25,"date":26},"Event","ckospaawgy2s70d479m0lh6np","2021-05-26",{"Speaker:ckospktrcya1e0d47tm3riujz":28,"Event:ckospaawgy2s70d479m0lh6np":30,"Talk:ckospkz5sya7i0d47391rzxx5":31,"ROOT_QUERY":37},["null","__typename",15,"id",16,"name",17,"speakerPicture",29],["null","__typename",19,"url",20,"handle",21,"fileName",22],["null","__typename",24,"id",25,"date",26],["null","__typename",6,"id",7,"name",8,"abstract",9,"youtubecode",10,"category",11,"createdAt",12,"speakers",32,"event",35],[33],{"__ref":34},"Speaker:ckospktrcya1e0d47tm3riujz",{"__ref":36},"Event:ckospaawgy2s70d479m0lh6np",["null","__typename",38,"talks({\"first\":1,\"where\":{\"id\":\"ckospkz5sya7i0d47391rzxx5\"}})",39],"Query",[40],{"__ref":41},"Talk:ckospkz5sya7i0d47391rzxx5",1791217021366]