{"id":3021,"date":"2026-08-22T12:33:54","date_gmt":"2026-08-22T19:33:54","guid":{"rendered":"https:\/\/canada.wordcamp.org\/2026\/?post_type=wcb_session&#038;p=3021"},"modified":"2026-08-31T18:58:56","modified_gmt":"2026-09-01T01:58:56","slug":"no-pattern-no-problem-solving-accessibility-challenges-at-the-edge-of-wcag","status":"publish","type":"wcb_session","link":"https:\/\/canada.wordcamp.org\/2026\/session\/no-pattern-no-problem-solving-accessibility-challenges-at-the-edge-of-wcag\/","title":{"rendered":"No Pattern? No Problem: Solving Accessibility Challenges at the Edge of WCAG"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">WCAG covers a lot, but not everything. Complex WordPress UI components regularly push beyond what the guidelines explicitly address, and most developers freeze when they can&#8217;t find a clear answer. This talk presents a practical, repeatable framework for solving accessibility problems when no established pattern exists, anchored in a real case study: making pan and zoom controls on a ticketing seating map work at 200% browser zoom. The solution was designed, tested with real users, and shipped to production. You&#8217;ll leave with a method for moving from stuck to shipped on your own hard problems, without waiting for someone else to write the pattern first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Learning outcomes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Apply a step-by-step framework for tackling accessibility problems without established patterns<\/li>\n\n\n\n<li>Use first principles reasoning to evaluate and prototype solutions for novel UI components<\/li>\n\n\n\n<li>Validate unconventional accessibility solutions through structured user testing<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Learn a repeatable framework to solve complex WordPress UI accessibility challenges without pre-built patterns, proven by a real pan\/zoom case study.<\/p>\n","protected":false},"author":11640793,"featured_media":0,"template":"","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_seo_schema_type":"","_wcpt_session_time":1793985300,"_wcpt_session_duration":2700,"_wcpt_session_type":"session","_wcpt_session_slides":"","_wcpt_session_video":"","_wcpt_speaker_id":[3155],"footnotes":""},"session_track":[62],"session_category":[46],"class_list":["post-3021","wcb_session","type-wcb_session","status-publish","hentry","wcb_track-shop-talk","wcb_session_category-accessibility"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pgZnpb-MJ","session_date_time":{"date":"November 6, 2026","time":"10:15 am"},"session_speakers":[{"id":"3155","slug":"matt-litzinger","name":"Matt Litzinger","link":"https:\/\/canada.wordcamp.org\/2026\/speaker\/matt-litzinger\/"}],"session_cats_rendered":"Accessibility","_links":{"self":[{"href":"https:\/\/canada.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/3021","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/canada.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions"}],"about":[{"href":"https:\/\/canada.wordcamp.org\/2026\/wp-json\/wp\/v2\/types\/wcb_session"}],"version-history":[{"count":3,"href":"https:\/\/canada.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/3021\/revisions"}],"predecessor-version":[{"id":3190,"href":"https:\/\/canada.wordcamp.org\/2026\/wp-json\/wp\/v2\/sessions\/3021\/revisions\/3190"}],"speakers":[{"embeddable":true,"href":"https:\/\/canada.wordcamp.org\/2026\/wp-json\/wp\/v2\/speakers\/3155"}],"author":[{"embeddable":true,"href":"https:\/\/canada.wordcamp.org\/2026\/wp-json\/wporg\/v1\/users\/mattlitzinger"}],"wp:attachment":[{"href":"https:\/\/canada.wordcamp.org\/2026\/wp-json\/wp\/v2\/media?parent=3021"}],"wp:term":[{"taxonomy":"wcb_track","embeddable":true,"href":"https:\/\/canada.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_track?post=3021"},{"taxonomy":"wcb_session_category","embeddable":true,"href":"https:\/\/canada.wordcamp.org\/2026\/wp-json\/wp\/v2\/session_category?post=3021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}