Episode 15: Troy Chaplin ๐Ÿ”— **Source:** [Episode 15: Troy Chaplin](https://www.youtube.com/watch?v=iJD6EIGb_y0) > [!note]+ Document Notes > tags: [wordpress, accessibility, education, community] > author: Community and Code Podcast > source: YouTube > reference: https://www.youtube.com/watch?v=iJD6EIGb_y0 > date created: 2024-12-19 10:30 > > # ๐Ÿท๏ธ Title: Episode 15: Troy Chaplin - WordPress Accessibility Validation, Word Camp Organizing, and Educational Institution Challenges > <!-- deep-read:sections start --> ## ๐Ÿงฐ Action Inbox - [H1] Test block accessibility validation plugin โ€” try on test site for content editor training #accessibility - [H2] Research multi-tenant WordPress architecture โ€” evaluate for large-scale deployments #architecture - [H3] Explore validation API possibilities โ€” consider contributing to core WordPress #development ## ๐Ÿงญ Table of Contents - [๐Ÿ“ Summary](#-summary) - [๐Ÿ“– Main Content](#-main-content) - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) - [๐Ÿ“š References](#-references) - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) - [๐Ÿ“ฐ Newsletter](#-newsletter) - [โœ… Action Items](#-action-items) - [๐Ÿงช Hypotheses](#-hypotheses) - [๐Ÿ“Š Methodology](#-methodology) - [โ“ Questions](#-questions) - [๐Ÿ”ฎ Future Research](#-future-research) - [๐Ÿ’ก Implications](#-implications) - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) - [๐ŸŒ DEIB Assessment](#-deib-assessment) - [โœ… Logical Validity](#-logical-validity) - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) - [๐ŸŽฏ Conclusion](#-conclusion) ### ๐Ÿ”— References - [Block Accessibility Checks Plugin](https://blockaccessibilitychecks.com) - [Troy Chaplin's Website](https://troychaplin.ca) ## ๐Ÿ“ Summary - Troy Chaplin shares his journey from graphic designer to WordPress developer at Carleton University, managing 800+ sites - Discussion covers challenges of accessibility validation in Gutenberg blocks and the plugin he created to address gaps - Covers Word Camp organizing experience and differences between Canadian and US WordPress communities - Why educational institutions have unique WordPress requirements around accessibility compliance - Bottom line: Developer-created tools can fill critical gaps in WordPress core, especially for accessibility validation ## ๐Ÿ“– Main Content Troy Chaplin transitioned from graphic design to web development, eventually joining Carleton University where he helps manage over 800 WordPress sites. The conversation explores the unique challenges of WordPress in educational environments, particularly around accessibility compliance requirements in Canada. The main focus is on Troy's Block Accessibility Validation plugin, created to address gaps in Gutenberg's accessibility validation. The plugin prevents publishing of inaccessible content by checking for missing alt text, table headers, button text, and other accessibility requirements. It includes a developer API allowing custom validation rules. The discussion also covers Word Camp organizing, comparing smaller Canadian events (250 people) to larger US conferences, and the more intimate networking opportunities at smaller events. Troy describes the technical architecture at Carleton, moving from individual WordPress installations to a multi-tenant system and eventually multisite. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/iJD6EIGb_y0?t=0) โ€” [H1] Introduction and Background - Key idea: Troy's journey from graphic design to WordPress development at Carleton University - Evidence: "I spent the first 10 years of my career being a graphic designer... halfway through that point in my career, I realized that print was probably not going to be my future" #### โฑ๏ธ [03:45](https://youtu.be/iJD6EIGb_y0?t=225) โ€” [H2] Early WordPress Discovery - Key idea: Friend introduced WordPress in 2016-2017 as "something big" - Evidence: "A friend of mine had told me quite early on, he had discovered WordPress... 'I think it might be something big. We should kind of follow this'" #### โฑ๏ธ [07:30](https://youtu.be/iJD6EIGb_y0?t=450) โ€” [H3] Design vs Development Preferences - Key idea: Coding provides more objective satisfaction than subjective design decisions - Evidence: "Design is a tough business because everybody's got their opinion... it's not always rooted in design principles" #### โฑ๏ธ [12:15](https://youtu.be/iJD6EIGb_y0?t=735) โ€” [H1] Educational Institution Challenges - Key idea: Managing 800+ sites with 1000+ content editors like an agency environment - Evidence: "800 different sites and at least eight over or definitely over a thousand content editors and they all have different things they want different needs" #### โฑ๏ธ [16:45](https://youtu.be/iJD6EIGb_y0?t=1005) โ€” [H2] Multi-Tenant WordPress Architecture - Key idea: Custom solution using composer and symlinks for centralized code management - Evidence: "We took WordPress and we built a multi-tenant application with it... through the use of sym links, we were able to create an environment where we had one centralized set of resources" #### โฑ๏ธ [22:30](https://youtu.be/iJD6EIGb_y0?t=1350) โ€” [H3] Training and Documentation Importance - Key idea: Comprehensive training reduces support burden and improves user experience - Evidence: "By doing good training and offering good documentation, it will reduce the amount of support we have to do" #### โฑ๏ธ [28:00](https://youtu.be/iJD6EIGb_y0?t=1680) โ€” [H1] Word Camp Community Building - Key idea: WordPress events create lasting friendships beyond just knowledge sharing - Evidence: "The friendships that you make in this community... are very strong friendships and they will be with you for a long time" #### โฑ๏ธ [35:20](https://youtu.be/iJD6EIGb_y0?t=2120) โ€” [H2] Scale Differences in Word Camps - Key idea: Smaller events (250 people) feel more personal than large conferences - Evidence: "Those conversations I find can get a bit more intimate or they can go on for longer because you're not trying to figure out who do I need to go see now" #### โฑ๏ธ [42:10](https://youtu.be/iJD6EIGb_y0?t=2530) โ€” [H1] Accessibility Validation Plugin Origin - Key idea: Gutenberg makes it dangerously easy to publish inaccessible content - Evidence: "The table block... I can just throw a table block on the page. There's no header by default... there was always a way to allow a table block to be published without a header" #### โฑ๏ธ [45:30](https://youtu.be/iJD6EIGb_y0?t=2730) โ€” [H2] Post Locking Inspiration - Key idea: Ryan Welcher's video on post locking led to validation blocking concept - Evidence: "I saw a video by Ryan Welchure... he had been talking about the post locking functionality in core and the light bulb turned on immediately" #### โฑ๏ธ [52:15](https://youtu.be/iJD6EIGb_y0?t=3135) โ€” [H3] Validation API Development - Key idea: Built developer API during vacation to allow custom validation rules - Evidence: "I built a validation API ultimately... being able to allow other developers to leverage all of the stuff that I had already written in the most simplistic of ways" #### โฑ๏ธ [58:45](https://youtu.be/iJD6EIGb_y0?t=3525) โ€” [H2] Community Feedback and Goals - Key idea: Plugin adoption challenge due to competition and developer visibility - Evidence: "There's so many options. There's a lot of great accessibility tools out there, so it's hard to catch the attention... I'm not really a well-known person either" #### โฑ๏ธ [63:30](https://youtu.be/iJD6EIGb_y0?t=3810) โ€” [H1] Future Vision for Validation API - Key idea: Hopes to propose validation API for WordPress core - Evidence: "I really do truly think we need a validations API... I might just take what I've done and throw it up as a discussion and hope for the best" #### โฑ๏ธ [68:20](https://youtu.be/iJD6EIGb_y0?t=4100) โ€” [H3] Gaming and RPG Discussion - Key idea: Final Fantasy series introduced love for character building and storytelling - Evidence: "Everything about the Final Fantasy series is what drew me into games when I was growing up... just the idea that what you're creating is unique to you" #### โฑ๏ธ [75:10](https://youtu.be/iJD6EIGb_y0?t=4510) โ€” [H2] Gaming Industry Scale - Key idea: Video game industry now larger than movies and music combined - Evidence: "I think the video game industry is actually bigger as far as like... how much it makes compared to the movie industry and the music industry" ## ๐Ÿ“š References - [Block Accessibility Checks Plugin](https://blockaccessibilitychecks.com) - [Troy Chaplin's Website](https://troychaplin.ca) - [WordPress Multi-Tenant GitHub](https://github.com/troychaplin/wordpress-multi-tenant) - [WP Campus Higher Education Report](https://wpcampus.org) ## ๐Ÿ—ฃ๏ธ Paraphrase - Educational institutions managing large WordPress deployments face unique accessibility compliance requirements that current tooling doesn't adequately address - Multi-tenant WordPress architecture can solve code management challenges for large deployments while maintaining individual site flexibility - Smaller WordPress community events provide more intimate networking opportunities compared to massive conferences that can feel overwhelming ## ๐Ÿ“ฐ Newsletter **Accessibility Validation in WordPress: A Developer's Solution** Troy Chaplin from Carleton University identified a critical gap: Gutenberg makes it far too easy to publish inaccessible content. His Block Accessibility Validation plugin addresses this by preventing publication when content fails accessibility checks. **Key Benefits:** - Validates table headers, alt text, button labels, and heading structure - Configurable validation levels from warnings to strict blocking - Developer API for custom validation rules - Post meta validation support **Educational Use Case:** Managing 800+ WordPress sites with 1000+ editors requires systematic accessibility compliance. The plugin serves both as a prevention tool and user education mechanism. **Technical Innovation:** Built on WordPress's post locking functionality, the plugin demonstrates how core features can be extended to solve real-world problems. Resources: [Plugin Details](https://blockaccessibilitychecks.com), [WordPress Accessibility Handbook](https://developer.wordpress.org/accessibility/), [WCAG Guidelines](https://www.w3.org/WAI/WCAG21/quickref/) ## โœ… Action Items #### DevRel - Developer education: Accessibility validation workshops for Gutenberg development - Documentation: Best practices guide for accessible block development - Community outreach: Showcase plugin at accessibility meetups #### OSPO - Accessibility compliance: Evaluate plugin for organizational WordPress deployments - Policy development: Accessibility validation requirements in contribution guidelines - Tool evaluation: Assess integration with existing accessibility scanning tools #### Community - Plugin maintainers: Review accessibility validation integration opportunities - Education: Accessibility training curriculum for content editors - Documentation: Case studies from educational institution deployments #### WordPress - Core: Evaluate validation API proposal for WordPress core integration - Accessibility: Review gaps in Gutenberg accessibility validation - Training: Content editor accessibility training materials - Documentation: Accessibility validation developer documentation - Plugins: Plugin review team accessibility validation standards #### The WPCC - Programs: Accessibility validation tool development grants - Education: Training programs for institutional WordPress management - Community: Multi-tenant WordPress architecture documentation #### FAIR - Technical standards: Accessibility validation requirement documentation - Educational access: Ensure validation tools support diverse learning needs ## ๐Ÿงช Hypotheses - Educational institutions require stricter accessibility validation than general websites due to legal compliance requirements - Multi-tenant WordPress architecture scales better than multisite for large institutional deployments - Smaller WordPress conferences (250 people) provide better networking ROI than large conferences (2000+ people) - Developer-created validation APIs can successfully fill gaps in WordPress core functionality ### ๐Ÿ“Š Methodology - Survey educational institutions about WordPress accessibility challenges and current tooling - A/B test validation plugin effectiveness on content editor behavior - Compare multi-tenant vs multisite performance at scale - Analyze networking outcomes from different sized WordPress events ### โ“ Questions - How can WordPress core better support accessibility validation without being overly prescriptive? - What's the optimal architecture for managing 1000+ WordPress sites with shared governance? - How do accessibility requirements in educational institutions compare globally? ### ๐Ÿ”ฎ Future Research - Integration patterns between accessibility validation and headless WordPress implementations - Machine learning approaches to accessibility validation beyond rule-based checking - Cross-platform accessibility validation for WordPress content consumed via APIs ### ๐Ÿ’ก Implications - Practice: Accessibility validation tools can be integrated into content editor workflows with minimal friction - Policy: Educational institutions need systematic approaches to accessibility compliance across large site networks - Education: Content editor training remains critical even with automated validation tools - Funding: Developer-created solutions can address core WordPress gaps while building community ### ๐Ÿง  Learning Styles Assessment Reading level estimate: Flesch-Kincaid Grade Level 10-11 #### ๐Ÿ‘€ Visual learners - Present: WordPress admin screenshots and block editor interface examples - Improve: Architecture diagrams showing multi-tenant setup, accessibility validation flow charts #### ๐Ÿ”Š Aural learners - Present: Full podcast audio with clear speakers and good audio quality - Improve: Timestamps for key topics, audio chapter markers #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Conversational format with technical terms explained in context - Improve: Glossary of WordPress-specific terms, accessibility terminology definitions #### ๐Ÿงฉ Kinesthetic learners - Present: Plugin installation and configuration examples mentioned - Improve: Step-by-step tutorials for plugin setup, hands-on accessibility testing exercises #### ๐Ÿง  Logical learners - Present: Clear problem-solution structure, technical architecture explanations - Improve: Decision trees for accessibility validation choices, cost-benefit analysis tables #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Community building discussion, Word Camp organizing experiences - Improve: Discussion prompts for accessibility team meetings, collaborative validation workflows #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Individual developer journey narrative, self-directed plugin development - Improve: Self-assessment checklists for accessibility validation, independent learning paths #### ๐ŸŒฟ Naturalistic learners - Present: Ecosystem thinking about WordPress community and tool interconnections - Improve: WordPress ecosystem impact analysis, accessibility tool landscape mapping ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Clear heading structure, descriptive episode title and guest information - Improve: Transcript formatting with speaker labels, link text descriptions #### Keyboard navigation - Present: Standard YouTube player controls accessible via keyboard - Improve: Timestamp navigation shortcuts, chapter-based navigation #### Contrast and readability - Present: Standard YouTube interface meets contrast requirements - Improve: High contrast transcript option, customizable text sizing #### Text resizing and reflow - Present: YouTube responsive design supports zoom to 200% - Improve: Dedicated transcript page with responsive text layout #### Media and captions - Present: Auto-generated transcript available, clear audio quality - Improve: Professional captions with speaker identification, downloadable SRT file #### Forms and interactions - Present: Standard YouTube comment and interaction patterns - Improve: Accessible feedback forms for podcast suggestions ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Canadian perspective on WordPress community, international conference comparisons - Improve: More diverse geographic perspectives on accessibility compliance requirements #### Inclusive language - Present: Welcoming tone, explanation of technical jargon in conversation - Improve: Plain language summary of key points, avoid gaming jargon assumptions #### Neurodiversity support - Present: Conversational pace allows for processing, clear topic transitions - Improve: Topic summaries at transitions, consistent episode structure #### Representation - Present: Developer from educational sector, accessibility advocate perspective - Improve: Ensure diverse voices in accessibility discussion across episodes #### Psychological safety - Present: Respectful discussion of challenges and learning experiences - Improve: Content warnings for technical complexity levels ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Clear problem identification to solution development progression - Inductive strength: Generalizes from Carleton University experience to broader educational needs - Causal reasoning: --- ## Full Transcript [00:18] Welcome to Community and Code, the<br>[00:20] podcast where we talk to the human<br>[00:21] beings behind the commits. I'm here<br>[00:23] today with Troy Chaplan, a front-end<br>[00:26] developer, a WordPress engineer, uh one<br>[00:29] of the organizers of Word Camp Canada<br>[00:31] and also the author, I believe, of the<br>[00:34] block uh validation plugin that does a<br>[00:37] block accessibility uh validation plugin<br>[00:39] on WordPress.org where that checks<br>[00:41] whether your Gutenberg blocks are<br>[00:44] accessible or not. Welcome to the show,<br>[00:45] Troy.<br>[00:48] >> Hey, thanks for having me on, Chris.<br>[00:49] >> Yeah, no worries. Uh tell us a little<br>[00:51] bit about yourself and what you do with<br>[00:54] WordPress.<br>[00:57] >> Uh I grew up in a small town in<br>[00:59] Newfoundland. Um I found I was always<br>[01:01] involved in something creative, whether<br>[01:03] it be art, design, you know, drawing. I<br>[01:07] I drew constantly on on walls and all<br>[01:09] kinds of stuff. So as I got older, I<br>[01:12] started to get into what ended up<br>[01:15] becoming graphic design. Um, I spent the<br>[01:17] first 10 years of my career being a<br>[01:19] graphic designer and and and doing a lot<br>[01:20] of print production materials, books,<br>[01:22] magazines. Uh, you name it, I probably<br>[01:24] did it. Um, but halfway through that<br>[01:27] point in my career, I realized that that<br>[01:29] print was probably not going to be my<br>[01:31] future. So, I decided to start teaching<br>[01:33] myself web. And a friend of mine had<br>[01:35] told me quite early on, he had<br>[01:37] discovered WordPress. and he said to me,<br>[01:39] this is probably 2016, 2017,<br>[01:43] and he said to me, "Look, I found this<br>[01:44] really cool thing called WordPress, and<br>[01:46] I think it might be something big. We<br>[01:48] should kind of follow this." And, you<br>[01:51] know, a couple years after that, I I got<br>[01:54] lucky to go and join my friend at<br>[01:55] Carlton University as a web developer,<br>[01:58] and we started the transformation um<br>[02:00] across campus, moving away from a legacy<br>[02:02] content management system into a<br>[02:04] customuilt WordPress enterprise<br>[02:06] solution.<br>[02:07] >> That's awesome. Yeah, I I spent a lot of<br>[02:10] my early uh development career<br>[02:15] being afraid to call myself a developer.<br>[02:18] Um I I referred to myself as a web<br>[02:22] designer, not a developer because I also<br>[02:25] was way way more into the like graphical<br>[02:30] side of things. Uh I uh I taught myself<br>[02:34] HTML but I didn't really consider that<br>[02:37] coding. Um I took like graphic design<br>[02:40] and things in college and I was more<br>[02:42] like interested in that. But then I<br>[02:44] discovered uh by accident really that uh<br>[02:48] because I had a I started learning<br>[02:50] WordPress uh also uh and there was a<br>[02:53] point at which I um I was working with a<br>[02:57] local web de web designer um who needed<br>[03:00] a developer a back-end developer to do<br>[03:03] this thing for a site that he was<br>[03:04] building because he was really just<br>[03:06] front-end uh focused um and when I<br>[03:10] didn't have to worry about the design<br>[03:12] stuff I realized that I really liked<br>[03:14] doing the work a lot more because you<br>[03:17] don't have to follow all of the trends<br>[03:19] and uh that was a thing that like you<br>[03:22] know we were u my partner and I were<br>[03:23] freelancing um and that was a thing that<br>[03:26] was kind of a struggle is like the like<br>[03:29] web design trends were always changing<br>[03:31] we wanted to kind of put our own sort of<br>[03:32] mark on the sites that we built but also<br>[03:34] we needed to like pay attention to what<br>[03:36] other sites were look were doing and<br>[03:37] looking like and um and when I didn't<br>[03:40] have to make those calls uh it made my<br>[03:43] job a lot easier.<br>[03:45] >> Yeah, design is a tough business because<br>[03:48] everybody's got their opinion um and you<br>[03:52] know they they all can look at something<br>[03:53] and and tell you exactly what they like<br>[03:55] and what they don't like and you know<br>[03:57] it's not always rooted in design<br>[03:59] principles and it it makes it really<br>[04:01] tough for myself. I don't really think I<br>[04:04] was the best designer. Um I just had the<br>[04:07] understanding and I could take a design<br>[04:09] and I could create five other templates<br>[04:11] with it. So that's where my strengths<br>[04:13] were and that's something that I leaned<br>[04:14] on quite heavily as I made the<br>[04:16] transition from a graphic designer into<br>[04:17] a web developer. Um I got the<br>[04:20] opportunity to work with a really great<br>[04:21] web designer and it made my life easier<br>[04:24] by being able to take those templates<br>[04:25] and kind of just build them out into<br>[04:28] something bigger. Um, but I really<br>[04:30] definitely enjoy the coding side of it<br>[04:32] more. Like taking those designs, seeing<br>[04:34] it come to life on page, seeing how<br>[04:36] users would interact with it and and how<br>[04:38] they felt about the site and what their<br>[04:40] feedback was was really exciting to me<br>[04:42] at the time. Like being able to take<br>[04:44] something that came from my head and<br>[04:46] then put it out in into the world and<br>[04:48] and seeing people use it was was really<br>[04:50] interesting to me.<br>[04:52] >> Yeah. Yeah. talk about a little bit uh<br>[04:55] about what it's like the needs or<br>[04:58] demands of working within uh sort of the<br>[05:01] edu space because I know that there's a<br>[05:04] lot of very sort of specific uh things<br>[05:08] that educational institutions are like<br>[05:11] very focused on and interested in that<br>[05:14] aren't necessarily the same as like a<br>[05:16] regular quote unquote regular website or<br>[05:19] like an enterprise website. Actually,<br>[05:20] there's some probably correlations with<br>[05:22] enterprise websites in some degrees. Um,<br>[05:24] but like I know that the EDO space, edu<br>[05:27] space is a very sort of uh world unto<br>[05:30] itself.<br>[05:32] >> Yeah, I guess there's there's several<br>[05:34] areas like the world that I work within.<br>[05:36] I look at it as as a typical agency<br>[05:39] style environment where you know while<br>[05:42] we do have one main brand and one<br>[05:45] template that we try to adhere to at all<br>[05:46] times there's 800 different sites and at<br>[05:51] least eight over or definitely over a<br>[05:53] thousand content editors and they all<br>[05:55] have different things they want<br>[05:57] different needs. So<br>[05:59] you know I treat them as individual<br>[06:01] clients and and I think that's the best<br>[06:02] approach where we look at what their<br>[06:04] needs are. Now I think what it makes us<br>[06:06] a bit different from enterprise is that<br>[06:07] you work with that one client but we<br>[06:09] have to take that information back and<br>[06:11] figure out is this something that can be<br>[06:13] used for a wider audience and then what<br>[06:16] would those requirements be and how can<br>[06:17] we make it so we don't build oneoff<br>[06:20] things all over the place and how can we<br>[06:22] leverage it for you know more goals<br>[06:26] >> and is that uh that collection that that<br>[06:30] uh yeah that collection of 800 sites is<br>[06:34] that 800 individual single site<br>[06:37] WordPress installations or is that uh<br>[06:39] one massive uh WordPress multi-sight or<br>[06:42] is it like a combination of the two?<br>[06:45] So for many years we were doing single<br>[06:48] installations. Um I think at some point<br>[06:50] we got to maybe 200 or so 250 sites and<br>[06:54] realized that maintaining these<br>[06:57] individual installations with you know<br>[06:59] individual file folders was not going to<br>[07:02] going to be sustainable for much longer.<br>[07:05] We looked at a various a bunch of<br>[07:07] different solutions like deploy HQ was a<br>[07:08] really good one for us where that was<br>[07:10] able to deploy from GitHub and push up<br>[07:12] to our servers and it handled it but<br>[07:13] again it was slow like the process would<br>[07:15] take<br>[07:16] >> almost a full day if not overnight. Um<br>[07:21] myself and a colleague Mike had<br>[07:23] developed a tool called WordPress<br>[07:25] multi-tenant. So we we took WordPress<br>[07:27] and we built a multi-tenant application<br>[07:29] with it. So we leveraged composer. So we<br>[07:32] were handling all the installation<br>[07:33] through composer. At the time not a lot<br>[07:35] of premium plugins offered um the<br>[07:38] ability to download with composer. So we<br>[07:40] started just maintaining our own repos<br>[07:41] with a composer file to make our lives<br>[07:43] easier. And then through the use of sim<br>[07:46] links, we were able to create an<br>[07:47] environment where we had one centralized<br>[07:50] set of resources from WordPress to the<br>[07:52] plugins to our themes, but then each of<br>[07:54] the individual sites would use a sim<br>[07:56] link to point to where that centralized<br>[07:59] location was. So we still maintained<br>[08:01] individual databases and individual<br>[08:03] installations for each site, but we<br>[08:05] finally were able to move into a<br>[08:06] singular code base and that<br>[08:08] significantly improved our our working<br>[08:10] life and our workflow and you know<br>[08:12] everything that comes with that. Um now<br>[08:16] though with our more modern um setup we<br>[08:20] have we're moving into a a hybrid theme.<br>[08:23] We're not ready for block themes just<br>[08:24] yet but we're moving into a hybrid<br>[08:25] theme. It's all Gutenberg powered. We<br>[08:28] have decided to go multi-sight with that<br>[08:30] one. So, we're currently going through a<br>[08:33] process of migrating those 800 and<br>[08:35] something sites into our new multi-sight<br>[08:37] environment.<br>[08:39] >> Yeah. Um<br>[08:43] is there do you have um do you have like<br>[08:48] when you're working with content<br>[08:50] editors? Um I know so like at Pantheon<br>[08:54] one of the one of the things that we do<br>[08:56] is we have this concept of upstreams<br>[08:58] which is similar to sort of like the the<br>[08:59] thing that you were talking about where<br>[09:00] it's like it's basically you have a<br>[09:02] centralized repository. You maintain<br>[09:04] that central code repository. You can<br>[09:06] put whatever sort of base plugins and<br>[09:08] things that you want in there and then<br>[09:09] each site within that uses that upstream<br>[09:12] can also have their own custom code. Um,<br>[09:15] and for a long time, um, Pantheon was<br>[09:19] was really pushing people toward<br>[09:21] upstreams instead of multi-sight. Um,<br>[09:24] and then I kind of said, don't do that.<br>[09:28] Um, because there's a need. There's<br>[09:30] there's like there's two different<br>[09:31] needs, right? And the way that I uh<br>[09:33] ultimately are sort of articulated the<br>[09:35] difference between that kind of an<br>[09:37] architecture and multicight is is where<br>[09:40] if if a singular uh database with<br>[09:44] overlapping users and a shared shared<br>[09:47] ability to like pull up content from<br>[09:49] different sites, if that is a a single<br>[09:51] database home for all of the the data uh<br>[09:54] is a feature and not a bug, then that's<br>[09:56] a good argument for multicight. If you<br>[09:58] want distinct stacks with uh separate<br>[10:02] governance over data and users and<br>[10:05] whatever, then that's a that's a a good<br>[10:08] uh it's it's better to do that as a as<br>[10:10] sort of a single WordPress site. Do you<br>[10:11] see that sort of same kind of tension<br>[10:13] too when you're uh working with um with<br>[10:16] especially because I know that in some<br>[10:18] cases not all but in some cases<br>[10:20] particularly under the the edu umbrella<br>[10:24] um they do want to have really distinct<br>[10:26] data governance and like like no we<br>[10:28] don't want our users touching those<br>[10:30] users over there even if they're like<br>[10:32] even if they're only touching sort of<br>[10:33] superficially like just you know shared<br>[10:35] database but like not accessing those<br>[10:37] sites.<br>[10:39] >> Yeah. Yeah. So in our our environment<br>[10:40] everything that we are doing at least in<br>[10:42] this current multi-sight is is public<br>[10:45] facing. So we don't really get into the<br>[10:47] conversations of the the data that's in<br>[10:50] the database from that level.<br>[10:52] >> Um we do actually have a setup in place<br>[10:55] where we we build security groups that<br>[10:56] work with our active directory and then<br>[10:59] so if I add you into a security group<br>[11:01] you have access to sites A, B and C but<br>[11:04] that's the limit of where you can go.<br>[11:06] >> We also leverage editor roles. So, at<br>[11:08] least when you log in there, you don't<br>[11:09] have access to everything an admin have.<br>[11:11] And that's, you know, a wise choice to<br>[11:13] make sure that folks that don't really<br>[11:14] truly understand what plugins and themes<br>[11:17] do and what they're for, and they don't<br>[11:18] need to understand that. Um, we like to<br>[11:20] curate that editor experience a lot,<br>[11:22] too. So, that way at least someone who's<br>[11:23] coming in can get in, get what they need<br>[11:25] to do done as quickly as they can, and<br>[11:27] then move out and go on to all the other<br>[11:29] things they need to do during their day.<br>[11:31] So, Humanmade uh worked with WP campus<br>[11:34] over the summer to build out a uh sort<br>[11:38] of a state of WordPress in higher<br>[11:41] education uh report. Um and one of the<br>[11:45] the results of that that I distinctly<br>[11:48] remember and have been thinking about<br>[11:50] basically ever since uh is the amount of<br>[11:54] sort of training that teams need to do.<br>[12:00] And this could be whatever development<br>[12:01] team, whoever's touching WordPress the<br>[12:03] most, those teams need to do like a<br>[12:06] significant amount of training to the<br>[12:08] actual users of the site. Um, you know,<br>[12:10] just like getting people familiar with<br>[12:12] and comfortable working with WordPress.<br>[12:14] Do you uh do you see that as well at<br>[12:16] Carlton?<br>[12:18] >> Absolutely. It's it's definitely a<br>[12:19] critical piece. Um, I don't feel like<br>[12:22] it's it's good for us to provide folks<br>[12:24] with a site and not at least give them<br>[12:27] some sort of an intro sort of overview<br>[12:30] tutorial, provide solid documentation.<br>[12:33] U, we're really big on video tutorials.<br>[12:35] So, our process right now is is when<br>[12:37] someone gets a site, we we do offer them<br>[12:39] some training, whether it be them<br>[12:41] one-on-one or if they have a small group<br>[12:43] within their department or their unit<br>[12:44] that needs to manage content. So, we do<br>[12:46] offer that. Uh we also have a great site<br>[12:49] that offers um a lot of written<br>[12:52] tutorials and then we do a lot of video<br>[12:54] tutorials on top of that. And um the<br>[12:56] person on my team, Charlotte, who had<br>[12:58] put all of that information together,<br>[12:59] made a really nice flow. So it's almost<br>[13:01] like<br>[13:02] >> course style where you come in, you<br>[13:04] start with like the first section, you<br>[13:06] move your way deeper, you get into the<br>[13:08] advanced stuff. So she's really tailored<br>[13:10] something that you can follow along as<br>[13:11] if you're taking a course. Mhm.<br>[13:13] >> Um, so I feel those are really important<br>[13:15] things for our end users to make sure<br>[13:17] that that they're comfortable, but I<br>[13:19] also find that that by doing good<br>[13:21] training and offering good<br>[13:22] documentation, it will reduce the amount<br>[13:24] of support we have to do,<br>[13:26] >> right? Yeah. Did you ever look at uh or<br>[13:28] at least during your time have you uh<br>[13:32] has your team looked at other CMSs like<br>[13:34] has Drupal ever been on the table?<br>[13:38] >> I don't think so. I mean, I kind of came<br>[13:40] into Carlton. I I came here in 2009. And<br>[13:43] at that time, there was already a<br>[13:45] project in place to start moving um a<br>[13:48] few sites. I was think 36 sites I<br>[13:50] believe into WordPress to do a pilot<br>[13:53] project. So, at that time, like the<br>[13:56] whatever decisions were made were<br>[13:57] already made before I kind of came on<br>[13:59] board.<br>[13:59] >> Um so, I don't really know how that came<br>[14:02] about.<br>[14:03] >> Yeah.<br>[14:06] talk about uh talk about switch gears<br>[14:08] and talk about a little bit your<br>[14:10] involvement in Word Camp Canada. Um how<br>[14:12] did that come about? Um, and maybe I<br>[14:16] guess what's uh what's a little bit<br>[14:19] different that from your perception uh<br>[14:23] about the Canadian<br>[14:25] uh WordPress community that would be<br>[14:28] distinct from uh you know the rest of<br>[14:32] the North American WordPress community<br>[14:34] or or other parts of of the WordPress<br>[14:37] ecosystem besides uh your boots and uh<br>[14:42] A's<br>[14:45] Um well I got involved I mean I I was I<br>[14:48] was an organizer for Word Camp Ottawa<br>[14:49] for several years um before CO happened.<br>[14:53] So now when when all that sort of kind<br>[14:55] of I can't say went away but you know<br>[14:58] when when CO wasn't the hot topic<br>[15:00] anymore and camp started to come back<br>[15:03] there was a few folks from previous Word<br>[15:05] Camp Ottawa organizing teams that got<br>[15:07] together and they wanted to put on Word<br>[15:09] Camp Ottawa. So after going to that last<br>[15:12] year and you know talking to some of the<br>[15:15] organizers and some old friends there<br>[15:16] and I said like I'm interested in<br>[15:18] helping out next year like what can I do<br>[15:20] and then you know the call for for you<br>[15:22] know new organizers came out and and I<br>[15:25] submitted and you know I wasn't able to<br>[15:27] make it to that first meeting but I<br>[15:29] think they had already had an<br>[15:30] understanding that I was already<br>[15:31] committed at that point. So, I remember<br>[15:33] getting a follow-up, I believe, believe<br>[15:35] it was from Shantaa within a couple of<br>[15:37] days after that,<br>[15:39] >> and she said, "Yeah, congratulations.<br>[15:40] You're part of the team." And, you know,<br>[15:42] we just kind of went from there.<br>[15:45] >> What brought you into the original Word<br>[15:49] Camp Ottawa group in in the first place?<br>[15:51] What drew you to uh to the WordPress<br>[15:54] community in that way?<br>[15:57] I think it was just wanting to get<br>[15:58] involved, wanting to to meet new people<br>[16:01] and find resources and get networking<br>[16:03] like we were doing a lot of the stuff at<br>[16:04] the times when you know we were learning<br>[16:06] as well and and you could go online and<br>[16:08] find all those resources but there's<br>[16:11] also something about having that<br>[16:12] connection to be able to just message<br>[16:14] someone or have a chat with them and get<br>[16:17] that information and and change exchange<br>[16:20] stories and and to me like it's it's one<br>[16:23] thing to go online but I love<br>[16:24] communities like Slack act like what we<br>[16:26] can do on make and what we can do on<br>[16:28] post status and the people that are<br>[16:29] there and the resources you have and<br>[16:31] like those are very invaluable. So for<br>[16:33] me at that time I wanted to become a<br>[16:35] part of a community and and start to<br>[16:37] meet more people who had similar<br>[16:39] interests to me. The first word camp<br>[16:42] Ottawa happened at U of uh sorry<br>[16:45] University of Ottawa. I should clarify<br>[16:46] that. Um<br>[16:49] um and I I actually got to speak at that<br>[16:52] one. I applied to speak and I got to<br>[16:53] speak at that one and that was my first<br>[16:55] my first experience with a local camp my<br>[16:57] first experience with speaking um and I<br>[17:00] I just wanted to become a part of that<br>[17:02] moving forward. It kind of goes back to<br>[17:04] I think about and I wrote a post on the<br>[17:05] Word camp uh Canada site about this<br>[17:07] about my first experience at a word camp<br>[17:09] and I I got lucky and I went to Toronto<br>[17:11] in 2009 and that was my first camp<br>[17:13] experience and that was a really great<br>[17:15] experience like I still have lasting<br>[17:17] friendships from that camp and and that<br>[17:20] was something that I really picked up on<br>[17:22] quickly is that that the friendships<br>[17:23] that you make in this community,<br>[17:26] >> you know, are very strong friendships<br>[17:28] and and they they will be with you for a<br>[17:30] long time. And that's one of the<br>[17:31] beauties of a word camp. Like I walk<br>[17:32] away from word camps not only with<br>[17:34] knowledge but new friends that I know I<br>[17:36] can reach out and out to and and ask<br>[17:39] questions to at any point and they're<br>[17:41] all going to be super helpful. Yeah, I<br>[17:43] that was actually uh a thing that I<br>[17:46] wrote about in my recap post for uh Word<br>[17:50] Camp Canada was that it's it's been a<br>[17:53] number of years since I've been to uh a<br>[17:56] word camp that wasn't a big word camp<br>[17:59] that was a more uh local or or yeah more<br>[18:02] local word camp. Uh and Canada word camp<br>[18:05] is kind of a weird outlier. We can talk<br>[18:07] about that in a second too, but like<br>[18:09] it's still I mean it capped at like 250<br>[18:12] people, right? So like something like<br>[18:13] that. So like it's still consider<br>[18:15] compared to US uh or EU it's like<br>[18:18] significantly smaller. Um and that's<br>[18:21] about the size of Word Camp Salt Lake<br>[18:23] City when I was running that. Um that's<br>[18:25] probably where we sort of maxed out at<br>[18:27] is that that sort of range. Um, and it<br>[18:30] the thing that I took away the most from<br>[18:33] that was that it really felt like like<br>[18:37] all all word camps to a degree for me at<br>[18:39] this point since I've been around uh the<br>[18:42] WordPress ecosystem for a long time um<br>[18:45] feel like an opportunity to like<br>[18:46] reconnect with old friends, people that<br>[18:48] I worked with at other agencies,<br>[18:50] whatever. Um, but it really felt like um<br>[18:54] because it was smaller, it felt like<br>[18:56] even more concentrated and it felt like<br>[18:59] no, these are people that like like I'm<br>[19:02] happy to spend time with. Um, even the<br>[19:04] new people, even the people that I just<br>[19:06] met, you know, at at the event, you<br>[19:07] know, and that was one of the things<br>[19:08] that like I really took away from uh<br>[19:11] from being at Word Camp Canada. Um, from<br>[19:14] your perspective, having done uh having<br>[19:17] organized or been involved in Word Camp<br>[19:19] Ottawa and Word Camp Canada, are there<br>[19:22] were there any differences in how the<br>[19:26] Canadian Word Camp was organized versus<br>[19:30] the Ottawa, the sort of local word camp?<br>[19:34] >> Yeah, I think there was quite a few. But<br>[19:36] uh before that there was a question that<br>[19:37] that you had posed a bit earlier about<br>[19:39] the differences between a word camp in<br>[19:41] Canada versus a word camp in US.<br>[19:43] >> Now I haven't gone to a lot of camps<br>[19:46] outside of Canada. I got to go to word<br>[19:48] the last San Fran actually right before<br>[19:50] it became word camp US. I was in San<br>[19:52] Francisco in 2014.<br>[19:54] >> Yeah.<br>[19:54] >> Oh yeah. Nice. So and that was so large<br>[19:57] to me that was very overwhelming. Like I<br>[20:00] come from a really small town. Ottawa, I<br>[20:04] call it the big city but a little town.<br>[20:06] Um,<br>[20:08] it was a lot. It was a lot to take in.<br>[20:11] What I find the biggest difference is<br>[20:13] the scale. Yeah. So, I find and like<br>[20:16] like you just mentioned like coming to<br>[20:17] something like Word Camp with less<br>[20:19] people. It just felt more personal and<br>[20:21] you were you were talking to some of the<br>[20:23] folks for longer periods of time because<br>[20:25] you weren't, you know, surrounded by<br>[20:27] like a couple thousand people. You were<br>[20:28] surrounded by a couple hundred people.<br>[20:30] So those conversations I find can get a<br>[20:32] bit more intimate or they can go on for<br>[20:34] longer because you're not trying to<br>[20:35] figure out who do I need to go see now<br>[20:37] or who can I go meet oh that's that<br>[20:39] person over there that I want to go see<br>[20:40] like<br>[20:41] >> I I just that's what I found from from<br>[20:43] San Fran um compared to what we do up<br>[20:45] here in Canada.<br>[20:46] >> Yeah. Yeah. I remember going to Word<br>[20:49] Camp San Francisco uh 2013 2014<br>[20:53] um and uh feeling Yes. overwhelmed. I<br>[20:58] had the the deep sense that like they<br>[21:01] the there are people that I recognize<br>[21:04] their like handles that I was like<br>[21:08] afraid to to have a conversation with um<br>[21:12] because like this is a big important<br>[21:13] person and I'm just a you like whatever.<br>[21:16] Um so like there's a lot of imposttor<br>[21:18] syndrome like there were people that I<br>[21:19] wanted to to talk to or introduce myself<br>[21:21] to but I was afraid to. Um and that was<br>[21:24] also I mean that was a long long long<br>[21:26] time ago. Um, and uh, you know, since<br>[21:29] then I I did a bunch of speaking and I<br>[21:32] was involved in Salt Lake City and<br>[21:33] whatever. Um, but uh, but yeah, it was<br>[21:36] definitely like a lot it felt a lot<br>[21:39] harder to to get into that sort of mode<br>[21:44] of of networking. And I felt I I think I<br>[21:47] almost felt like like a failure too like<br>[21:51] walking away from that and not having<br>[21:52] those conversations because like I felt<br>[21:54] like this is your opportunity to like<br>[21:56] you know get into the in crowd or<br>[21:59] whatever and like you know they're right<br>[22:01] there you can just say hi and it's like<br>[22:02] no I am too much of a wallflower like<br>[22:05] you know like um I'm very much of the<br>[22:08] like like I I'm I get a lot out of being<br>[22:13] in social situations but I also like if<br>[22:16] I don't know people, it's really hard<br>[22:17] for me to like motivate myself to uh um<br>[22:22] to get into to insert myself into a<br>[22:25] conversation with with people that I<br>[22:27] just have never sort of met in person or<br>[22:30] met at all really. Um yeah, so I<br>[22:34] >> go ahead.<br>[22:35] >> Yeah, I was I I I completely understand<br>[22:37] like I'm I'm I find myself I'm awkward<br>[22:39] at best when it comes to the majority of<br>[22:41] social situations. So, you know, usually<br>[22:43] if it's a group of folks, I'm a bit more<br>[22:45] comfortable if I know at least one<br>[22:47] person in that group. But, um, but I<br>[22:49] find like going back to like San Fran 12<br>[22:52] years ago versus, you know, even just<br>[22:54] word camp just a couple of weeks ago,<br>[22:56] you know, I found like I I really kind<br>[22:58] of opened up and and my ability to go<br>[23:00] and approach some of those folks that<br>[23:02] probably would have intimidated me 12<br>[23:03] years ago, right? you know that was so<br>[23:06] going back to San Fran I I got the<br>[23:08] opportunity to to meet Mark is his last<br>[23:10] name pronounced J jquith I believe<br>[23:13] >> yeah yeah yeah<br>[23:13] >> yeah so I got the chance to meet him at<br>[23:15] one point I had a conversation with him<br>[23:17] and I think for me that was the eye<br>[23:19] opening moment and that was really<br>[23:20] towards the end of the camp<br>[23:22] >> and but he was so friendly he was so<br>[23:24] approachable and that to me was like<br>[23:26] okay at that time him and like Andrew<br>[23:29] Nason like those were like sort of the<br>[23:30] big guys in in in the WordPress world at<br>[23:33] that time and for him to be very<br>[23:36] approachable and really open to<br>[23:37] conversation and stuff that showed me<br>[23:40] what this community was really all about<br>[23:42] and there was really not a lot of ego<br>[23:45] that you get from a lot of other<br>[23:46] conferences and stuff like that. So that<br>[23:48] made me really appreciate um the<br>[23:51] community that much more. Now fast<br>[23:52] forwarding into Word Camp Canada like we<br>[23:54] had a lot of big names at that camp. I<br>[23:56] mean Matt was at the camp and and he was<br>[23:58] very approachable as well. Um, you know,<br>[24:00] there probably would have been a time<br>[24:02] and place when I would not have wanted<br>[24:04] to go and talk to some of those folks,<br>[24:05] but but you know, this time I I relished<br>[24:07] that opportunity and and was really<br>[24:09] excited to to meet some of the names<br>[24:11] that we had coming in.<br>[24:12] >> Yeah. Yeah. I remember Jakeith and<br>[24:14] Nathan uh I remember seeing them across<br>[24:17] the room and being too intimidated to<br>[24:19] talk to them. So, you uh you props to<br>[24:23] you. Props props to 2013 you uh for<br>[24:26] actually opening the conversation when I<br>[24:27] couldn't. Um, so, so you've been working<br>[24:31] on uh this uh Gutenberg block<br>[24:35] accessibility validation plugin. Tell me<br>[24:38] about how I mean I I imagine I I think I<br>[24:41] can maybe even see where the sort of<br>[24:43] origin story for this thing because uh<br>[24:46] if you're working at Carlton and Carlton<br>[24:48] is is concerned about accessibility then<br>[24:50] obviously your website uh needs to be uh<br>[24:53] accessible and there needs to be a way<br>[24:55] to inform the users of the site that the<br>[24:59] the site isn't super accessible. So I I<br>[25:02] imagine that that just sort of like is<br>[25:05] is the use case for how this emerged.<br>[25:07] What um sort of I guess when did you<br>[25:10] decide that this was something that you<br>[25:12] needed to to work on and build?<br>[25:15] >> It was pretty early when we were<br>[25:16] building our our current Gutenberg<br>[25:19] implementation where the realization of<br>[25:22] how easy it was to publish inaccessible<br>[25:25] content with Gutenberg it kind of it was<br>[25:27] a bit mind-blowing to be honest. for<br>[25:29] example, the table block. The ab the<br>[25:31] fact that I can just throw a table block<br>[25:33] on the page. There's no header by<br>[25:35] default. And at the time, maybe it's<br>[25:37] changed in code, you know, in the last<br>[25:39] year, but at the time I was looking at<br>[25:40] it, there was not a way to force the<br>[25:43] header on by default without doing a<br>[25:45] variation block. Nor was there a way to<br>[25:47] remove that option from the editor. So,<br>[25:49] there was always a way to allow a table<br>[25:51] block to be published without a header.<br>[25:54] Mhm.<br>[25:55] >> At one point I was there was I was<br>[25:56] trying to figure out how how we could,<br>[25:58] you know, tackle this stuff. There was<br>[26:00] really no validation in core that I knew<br>[26:02] about at the time. But I saw a video by<br>[26:05] Ryan Welchure and he had been talking<br>[26:07] about the post locking functionality in<br>[26:10] core and the light bulb turned on<br>[26:12] immediately. I said, "How can I check<br>[26:16] attributes in blocks than block post<br>[26:20] publishing if they didn't meet the<br>[26:22] accessibility requirements that we have<br>[26:24] to adhere to in Canada?"<br>[26:26] >> So, I started just to build this thing<br>[26:28] on my own trying to figure it out and<br>[26:30] and one thing led to another and a first<br>[26:33] iteration of a plug-in came together<br>[26:36] where I was checking I think it was um I<br>[26:40] started with the table block. I added<br>[26:43] the button block because I wanted to<br>[26:44] make sure that folks were not able to<br>[26:46] publish buttons without text or a link.<br>[26:49] And I also started working on images<br>[26:51] because alt tags in my opinion are one<br>[26:53] of the biggest misses as far as<br>[26:55] accessibility goes.<br>[26:57] >> Um yeah, and then I just kept working on<br>[26:59] this plugin and you know we had a<br>[27:01] different iteration of it internally. So<br>[27:04] there was some separation that had<br>[27:05] happened there because we do things just<br>[27:07] a little bit different like we force it<br>[27:08] all internally and it's all required.<br>[27:10] Whereas the plugin that I'm building for<br>[27:12] public consumption allows you as a<br>[27:14] content editor to choose your level of<br>[27:18] um I guess validation and what you want<br>[27:21] to validate. So there's a big settings<br>[27:22] page and you know if if you're not as<br>[27:25] concerned around um heading levels or<br>[27:28] structures or if you don't care about<br>[27:30] the table header, you can turn it all<br>[27:32] off or you can give warnings as a way<br>[27:34] to, you know, at least educate folks but<br>[27:36] not block them from publishing. or you<br>[27:39] can be as heavy-handed as we are at the<br>[27:41] university and just make sure that folks<br>[27:43] just can't do it at all. Um, over the<br>[27:46] summer though, I think was the the<br>[27:48] biggest thing I really wanted to do with<br>[27:50] with the plug-in itself and and I built<br>[27:52] a validation API ultimately. Um, I like<br>[27:56] the idea that that the plug-in offered<br>[27:59] the ability to validate some of the core<br>[28:01] blocks, but to me, the big win was being<br>[28:05] able to allow other developers to<br>[28:07] leverage all of the stuff that I had<br>[28:09] already written in the most simplistic<br>[28:11] of ways. So, I happened to go on<br>[28:13] vacation to Newfoundland and my family<br>[28:15] were going to bed a bit earlier. So,<br>[28:17] that gave me hours and hours at night to<br>[28:19] just just tinker with this. And I think<br>[28:22] in the course of a two-eek vacation, I<br>[28:24] had built the majority of this. I called<br>[28:26] it at the time the developer API. And I<br>[28:29] started building some of my own little<br>[28:30] plugins with it to test it and and now<br>[28:33] it's a fully functioning API. And just a<br>[28:36] couple days ago, I extended that<br>[28:38] functionality to now include post meta<br>[28:40] in the validation in the same way. Um,<br>[28:43] so yeah, there's there's some other<br>[28:45] stuff I want to do with this plugin and<br>[28:46] I'm really just trying to position it as<br>[28:48] a really fantastic powerful validation<br>[28:51] API for developers.<br>[28:53] >> Have you been getting uh any sort of<br>[28:55] like feedback or or conversation around<br>[28:58] uh around the plug-in? And I know that<br>[29:00] when we talked in person, you're talking<br>[29:01] about uh Joe Doulson, who is very active<br>[29:03] in the WordPress accessibility<br>[29:04] community, had uh submitted some some<br>[29:07] poll requests, but uh have you have you<br>[29:09] gotten been able to like interact with<br>[29:11] people that are using it?<br>[29:13] >> Not as much as I would like to, and I<br>[29:15] find that is one of the hardest parts<br>[29:17] about this world right now because<br>[29:19] there's so many options. There's a lot<br>[29:21] of great accessibility tools out there,<br>[29:23] so it's it's hard to catch the<br>[29:25] attention. And, you know, I'm not really<br>[29:28] a well-known person either. So, again,<br>[29:30] it's, you know, I'm already fighting<br>[29:31] that up uphill battle. Now, I did get<br>[29:33] some really great feedback from some<br>[29:35] folks like Joe you mentioned, for<br>[29:36] example, had saw the plugin and<br>[29:38] submitted a few feature requests. So, I<br>[29:40] kind of pinged Joe on the side and<br>[29:41] talked to him a little bit and really<br>[29:43] appreciate, you know, him taking the<br>[29:45] time to put those features in and they<br>[29:46] made it into the next release. Um, I had<br>[29:50] some conversations with a lot of folks<br>[29:51] at Word Camp Canada. I one of the goals<br>[29:53] was I wanted to try to sit down with<br>[29:55] some more developers and get some<br>[29:57] feedback and demo my plugin.<br>[29:59] >> So I got a lot of great feedback there.<br>[30:01] I've since put in a a long list of<br>[30:03] issues of things I want to build out on<br>[30:05] the plugin. Um one of my favorite ideas<br>[30:08] and it's something I actually have<br>[30:09] started working on already came from<br>[30:11] Ryan Welchure. um he had suggested what<br>[30:14] does the possibility of moving away from<br>[30:18] writing the checks and the strings and<br>[30:20] all that in PHP what would that look<br>[30:23] like if I moved it to the block.json and<br>[30:24] that would just remove one whole other<br>[30:27] layer and then simplify the integration<br>[30:29] for an external block. So I thought that<br>[30:32] was a fantastic idea. So now I'm trying<br>[30:33] to figure that out. But that also means<br>[30:35] I need to wrap my head around how<br>[30:37] translation worksh<br>[30:39] >> and how does that work when you're<br>[30:40] pulling a string from a block.json. I've<br>[30:42] never had to handle that before. So, I'm<br>[30:44] actually quite excited for the challenge<br>[30:45] and learning how that works. And I'm<br>[30:48] going to need to find someone that knows<br>[30:49] how to properly test it to tell me if I<br>[30:51] did my job correctly or not, though.<br>[30:53] >> Yeah. What kind of uh approaches are you<br>[30:57] using? Do you or I guess maybe the first<br>[30:59] question is do you have um sort of uh<br>[31:02] testing in place uh as you're as you're<br>[31:04] building out the plugin or is are you<br>[31:05] mostly just sort of testing things uh<br>[31:08] manually as you go?<br>[31:11] Right now, it's all just manual because<br>[31:12] I want to be able to get in there and<br>[31:14] see how the experience is in the editor.<br>[31:16] Um, I mean, I I definitely do need to go<br>[31:18] in and start adding some unit tests<br>[31:20] before things start to grow a little bit<br>[31:21] too big. But, I don't think I'll ever<br>[31:22] get away from the manual testing because<br>[31:25] >> to me, the the plugin's also got to feel<br>[31:27] good for the users. And I and you know,<br>[31:29] there's no testing unit that's going to<br>[31:31] tell me if that's a good experience or<br>[31:33] not. So, um, there's always going to be<br>[31:35] an aspect of the the human element has<br>[31:37] always got to be here because I I I do<br>[31:39] I'm a big proponent of making sure that<br>[31:41] the UI is as clean and as as as nice as<br>[31:44] it can be for the end user.<br>[31:46] >> Yeah. What are your uh what was what<br>[31:49] would success sort of look like for for<br>[31:53] the block validation plugin in your<br>[31:55] mind? Like what are you what are you<br>[31:57] hoping that this will sort of achieve if<br>[32:00] if you reach your goals?<br>[32:04] H I mean I have a I have a couple of<br>[32:06] pretty lofty goals. I mean I think<br>[32:09] realistically I mean<br>[32:10] >> more developers seeing this plugin and<br>[32:14] looking at it as a viable solution in<br>[32:16] their work in order to help validate<br>[32:19] blocks or post meta. I I would just I<br>[32:22] would love to to know that more people<br>[32:24] are using it and and it's working well<br>[32:26] for them and then maybe we get some more<br>[32:28] contributors that could help grow the<br>[32:30] plug-in.<br>[32:30] >> Mhm. I think that would be a best case<br>[32:32] scenario. I mean, if I wanted to look at<br>[32:34] big picture, I mean, I keep seeing stuff<br>[32:36] like the abilities API and the<br>[32:38] interactivity API crop up in WordPress.<br>[32:42] I I really do truly think we need a<br>[32:44] validations API. And I think at some<br>[32:46] point I might just take what I've done<br>[32:48] and throw it up and as a discussion and<br>[32:50] hope for the best. You know, that's my<br>[32:52] pie in the sky. And you know, I don't<br>[32:55] know where it's going to go until I put<br>[32:57] it out there in the universe and and I I<br>[32:58] fully plan on doing that at some point.<br>[33:01] >> That's awesome. Yeah, I I I agree. I<br>[33:03] think it would be really uh I I think<br>[33:05] it's really valuable um just from a a<br>[33:09] user education standpoint. I' I've<br>[33:11] played with it a little bit. I probably<br>[33:12] haven't configured it uh to the right<br>[33:14] degree because I really just sort of<br>[33:16] threw it up on on this site actually. Um<br>[33:20] just to just to get a a a sense of of<br>[33:22] what it does. Um but even just from the<br>[33:25] perspective of<br>[33:28] knowing when you're doing things wrong.<br>[33:30] Like it seems like it should be like<br>[33:32] it's like you said it's it's super easy<br>[33:34] to to not even realize that you're<br>[33:38] creating inaccessible content. And so<br>[33:41] just from like an education standpoint,<br>[33:43] like I know because I've worked with<br>[33:45] >> I mean I worked with Brienne Ritfeld<br>[33:47] who's like one of the like biggest<br>[33:50] accessibility advocates in the WordPress<br>[33:53] ecosystem and probably beyond and like<br>[33:55] just is amazing to work alongside. Um<br>[33:58] and she has drilled several things into<br>[34:02] my brain um over the years of of working<br>[34:05] with her. Um, but like it's still like<br>[34:09] it's it's there's because it's so easy<br>[34:11] because there's so much variability and<br>[34:14] because like the rules aren't super<br>[34:18] fixed like there's things where it's<br>[34:20] like well in this case<br>[34:22] images are a great example. In this case<br>[34:24] like you definitely need all text but in<br>[34:26] this case the image is just decorative<br>[34:28] so it doesn't necessarily need all text.<br>[34:30] there there are there are there's nuance<br>[34:33] and it really requires accessibility<br>[34:35] really requires like a human in the<br>[34:38] loop. Um so just having something that<br>[34:43] that gives you feedback that kind of<br>[34:44] suggests like hey maybe you should be<br>[34:46] doing this thing is is super valuable<br>[34:47] and I I do think that um pulling that<br>[34:50] into core is uh maybe a lofty goal but<br>[34:53] it shouldn't be super unrealistic. like<br>[34:55] I feel like it's it's a thing that that<br>[34:57] could be um really valuable to to<br>[34:59] anyone.<br>[35:01] >> Oh, thank you. I like to think so.<br>[35:03] >> Yeah. Um so, let's uh let us switch<br>[35:08] gears a little bit to uh you mentioned<br>[35:11] uh before the recording that you're a<br>[35:14] little bit of a of a RPG nerd. Um let's<br>[35:19] let's get into the nerdiness. What sort<br>[35:21] of nerd things are uh you what are you<br>[35:24] nerding out on these days?<br>[35:26] >> Uh well, I haven't jumped into games in<br>[35:29] quite some time. I mean, the last year<br>[35:31] of of life between building this<br>[35:33] validation stuff<br>[35:35] >> and doing the word camp work has<br>[35:37] consumed a lot of my time and then, you<br>[35:39] know, everything else<br>[35:41] >> is all about the family. So, um, but now<br>[35:44] that word camp is done and I'm stepping<br>[35:46] back a little bit on like developing for<br>[35:48] five and six hours every night after I,<br>[35:51] you know, develop all day at work,<br>[35:52] >> right?<br>[35:53] >> Um, I I'm jumping into uh Ghosts of Yote<br>[35:57] was a new game. So, I I really enjoyed<br>[36:00] the the the last Ghost of Shushima.<br>[36:03] >> Now, there's also a couple RPGs that are<br>[36:05] on my on my wish list. I was reading<br>[36:08] about one the other day. the name<br>[36:09] escapes me, but I'm trying to catch up<br>[36:11] from like the last couple of years of of<br>[36:13] gaming releases. Uh, I also just grabbed<br>[36:15] a copy of Elder Scrolls Online. I'm<br>[36:17] quite interested in that one. It also<br>[36:19] seems like something my wife might<br>[36:20] enjoy. She's also RPG fan, so<br>[36:23] >> looking for something that we might be<br>[36:24] able to play together would be would be<br>[36:26] ideal, especially for the winter.<br>[36:28] >> Yeah. What uh what what draws you into<br>[36:32] uh role playing video games<br>[36:33] specifically? like what is what was the<br>[36:35] sort of your introduction and like what<br>[36:38] was the the thing that like pulled you<br>[36:42] in and was like yeah this is this is the<br>[36:44] thing for me.<br>[36:46] >> Everything about the Final Fantasy<br>[36:48] series is what drew me into games when I<br>[36:50] was growing up. I mean I got I got the<br>[36:52] Nintendo Entertainment System and<br>[36:54] everybody was playing Mario and Duck<br>[36:56] Hunt and I got Final Fantasy and it was<br>[36:59] game over for me right from that point.<br>[37:01] There's just something about leveling<br>[37:03] and building a character. And then, of<br>[37:05] course, as RPGs evolved over time, you<br>[37:08] know, being able to customize that<br>[37:10] character, not being locked into what<br>[37:13] that game and what that that creator was<br>[37:15] trying to to make this character be. So,<br>[37:17] you kind of break outside of the mold.<br>[37:19] And I think you can relate it back to a<br>[37:20] lot of the D&D stuff. I didn't really<br>[37:22] play a lot of that as a kid. I did just<br>[37:24] maybe for a year or so. But just the<br>[37:26] idea that that what you're creating is<br>[37:29] unique to you. you can you can do<br>[37:30] whatever you want to do with it and and<br>[37:32] I think that aspect of RPGs is is really<br>[37:35] appealing to me just and the open world<br>[37:38] concept and just being able to get lost<br>[37:40] in those things for hours on end. And I<br>[37:43] mean I remember playing Skyrim and I<br>[37:45] think the first first month or so I<br>[37:47] played Skyrim. I played for like 40<br>[37:48] hours, but I accomplished nothing in the<br>[37:51] big picture cuz it was all about<br>[37:53] exploring and and you know, leveling and<br>[37:56] and building the character and like just<br>[37:57] fun stuff like that that I like to get<br>[37:59] lost in. Yeah, I really enjoy the thing<br>[38:02] that I I love the most about role<br>[38:05] playing, whether it's video games or<br>[38:08] whether it's tabletop role playing games<br>[38:10] or even like some some tabletop board<br>[38:13] games even is like the storytelling is<br>[38:17] getting lost in a story. And I remember<br>[38:18] the first time I remember when I played<br>[38:21] uh Final Fantasy 7 uh back in the day.<br>[38:25] um like just like that. It blew me away<br>[38:28] like the level of like before that it<br>[38:31] felt like the story was kind of like you<br>[38:34] know oh your princess is in another<br>[38:35] castle and like it was it was there but<br>[38:38] like it was a little bit like forced but<br>[38:41] like Final Fantasy 7 uh like Chronocross<br>[38:45] like things like that where like the<br>[38:47] story is really really immersive and<br>[38:49] deep and like even like uh Kingdom<br>[38:50] Hearts the the the you know like it it<br>[38:55] was really like elevating ating<br>[38:59] video games to to an art form. Um that<br>[39:03] that was really like on the same level<br>[39:05] as like you know reading and reading<br>[39:09] Lord of the Rings you know like except<br>[39:11] that you are Frodo you know.<br>[39:17] >> Yeah. I remember times when like just my<br>[39:19] friends and I would would like, oh, the<br>[39:20] new Final Fantasy's coming or here's the<br>[39:22] launch trailer and we would like just<br>[39:24] totally geek out over the animations of<br>[39:27] all the the deities or dieons or<br>[39:29] whatever they decided to call them in<br>[39:31] those games and you'd see like Bahamut<br>[39:33] like rise up and how great the graphics<br>[39:35] were. Like those were like just I<br>[39:37] remember those being super exciting<br>[39:38] moments to get to see the improvements<br>[39:41] cuz to me I found RPGs<br>[39:43] had the biggest graphical improvement<br>[39:45] year over year with what they were<br>[39:47] trying to put out there with the stories<br>[39:48] and like<br>[39:49] >> like you said with the story like you<br>[39:50] also need to have those those really<br>[39:52] strong visuals like you had to make it<br>[39:54] look like you were watching a movie at<br>[39:55] times and<br>[39:56] >> Final Fantasy in my opinion did it<br>[39:58] leagues above everybody else to a<br>[40:01] certain degree and it was just always<br>[40:03] excited to see what they were going to<br>[40:04] come up with X. So, I I always have a I<br>[40:07] always have a special place for Final<br>[40:08] Fantasy in my gaming heart.<br>[40:11] >> Did you ever uh get into those uh sort<br>[40:15] of interactive movie style uh games? I'm<br>[40:18] thinking of things like Fantasmagoria. I<br>[40:21] think Wing Commander had had one where<br>[40:23] it was like they they like Wing<br>[40:25] Commander was is a great example because<br>[40:27] they had Mark Hamill play one of the<br>[40:29] characters. Yeah. So, they have actual<br>[40:30] actors and but it's really like the game<br>[40:33] itself is like almost like a mist style<br>[40:36] point andclick sort of thing, but then<br>[40:38] with these like liveaction clips uh<br>[40:42] interspersed depending on like what you<br>[40:44] unlock or or what you find. Did you ever<br>[40:45] get into those sorts of things?<br>[40:48] >> There's one that really stands out and<br>[40:50] and I absolutely loved this game. I I<br>[40:52] like Sean Ashmore as an actor and he did<br>[40:55] Quantum Break. That game was fantastic<br>[40:58] on the Xbox. So that had that sort of<br>[41:01] like you'd play the game and then<br>[41:02] there'd be like a movie clip and like<br>[41:04] you would you would sit there was I<br>[41:05] think one part that was like a 25 minute<br>[41:07] clip. I was watching an episode<br>[41:09] essentially.<br>[41:09] >> Yeah.<br>[41:10] >> I I really enjoyed that game. Like it<br>[41:12] was a good break from something where<br>[41:14] it's like action like non-stop versus<br>[41:17] this game had a good action then you<br>[41:18] could sit back and it felt like<br>[41:20] something I wanted to have snacks. I<br>[41:22] don't snack when I'm gaming, but this<br>[41:24] was one of those ones where I definitely<br>[41:26] had to have snacks cuz I was essentially<br>[41:28] watching a movie and that I just got to<br>[41:29] play in between clips, right?<br>[41:31] >> I remember thinking that that at the<br>[41:34] time that that was the future of what<br>[41:37] games were going to turn into, like they<br>[41:38] were going to be more cinematic and and<br>[41:40] more cinematic in in from like a<br>[41:42] production value. And I mean, honestly,<br>[41:44] that that's not not true. It's just it's<br>[41:48] not that thing that I thought it was at<br>[41:50] the time, right? Like I thought I<br>[41:51] thought I was so I was so uh adamant<br>[41:54] that that was like where gaming was<br>[41:57] going to that um my my senior year in<br>[42:00] college my plan was I didn't actually do<br>[42:02] this thing but my plan was um that I<br>[42:05] would uh spend one semester so I I was<br>[42:09] my final project uh my senior project<br>[42:11] was going to be like one of those sort<br>[42:13] of point-and-click kind of uh<br>[42:15] interactive movie sort of games. Um, and<br>[42:17] so the first semester we were going to<br>[42:19] spend filming all the video stuff. The<br>[42:21] second semester is me figuring out how<br>[42:23] to turn that into a game. And I<br>[42:26] ultimately didn't do that second part.<br>[42:29] We did the movie. Uh, I did a an<br>[42:31] interactive CD ROM instead, but like um<br>[42:34] I I had was just convinced that like<br>[42:37] that was going to be the future. And of<br>[42:38] course that's not those games pretty<br>[42:41] much died off, but they were replaced by<br>[42:43] things like I mean you look at Balders's<br>[42:45] Gate 3 um which is one of the top<br>[42:48] grossest the most highly grossing games<br>[42:52] in I don't know how long um ever maybe.<br>[42:55] I don't know. Um but like the I mean the<br>[42:58] budgets are definitely there. The<br>[43:00] there's like professional voice actors<br>[43:02] doing things uh doing the voice acting.<br>[43:06] Um, in a lot of CA cases there's like<br>[43:08] mocap like you know like the actors are<br>[43:10] doing things that are being recorded and<br>[43:13] um and the the cutscenes and things are<br>[43:17] a lot of times cinema quality and now<br>[43:19] like the graphics are getting to the<br>[43:21] point where like like it's pretty darn<br>[43:24] close. I mean if you compare that to<br>[43:26] like even just film CGI like from 10<br>[43:29] years ago like we're way beyond that in<br>[43:31] terms of what you could just run on a<br>[43:32] PC. Um yeah, I think that it's um just<br>[43:37] where where things have gone is is<br>[43:39] really interesting. Um and things it<br>[43:41] does it does feel like um like things<br>[43:44] are moving or have already moved in a um<br>[43:49] it to to elevate video games into<br>[43:52] something that is comparable to film<br>[43:55] making and you know novels and like I<br>[43:59] mean it really is to me like an art<br>[44:00] form.<br>[44:03] Yeah, if I'm correct, I think the video<br>[44:04] game industry is actually bigger as far<br>[44:07] as like it's at how much it makes<br>[44:09] compared to the movie industry and the<br>[44:11] music industry, too. So, it's it's<br>[44:13] probably one of the one of the biggest<br>[44:14] grossing forms of entertainment going<br>[44:17] right now.<br>[44:18] >> Yeah. Yeah. It's pretty wild. Um, so<br>[44:22] Ghost of Yo-kai, I've heard about that.<br>[44:24] Uh, tell me about uh what is exciting<br>[44:26] about Ghost of Yo-kai. I I I I know<br>[44:29] about it because I think there's some<br>[44:30] Critical Role uh friends and uh and<br>[44:34] voice actors that are doing uh some of<br>[44:36] the stuff in there. So that that's how<br>[44:37] I've heard of it.<br>[44:39] >> Yeah. Now, I haven't dove into the game<br>[44:41] yet. I I actually just installed it over<br>[44:43] the weekend. But uh I I played the the<br>[44:46] first version which was called Ghost of<br>[44:48] Sushima.<br>[44:49] >> And<br>[44:51] that game I think I put in about 90<br>[44:53] hours into that game. Like just an<br>[44:55] unreal amount of time. I just I loved it<br>[44:57] so much. I think I finished it. I could<br>[44:59] have probably finished it in about a 40<br>[45:00] 45 hour mark, but it was just there was<br>[45:03] something about it. I just enjoyed going<br>[45:05] to do all of those extra side quests.<br>[45:06] Like mo I find most games once you get<br>[45:08] to the end game, it feels repetitive and<br>[45:10] you just don't care anymore.<br>[45:11] >> Yeah.<br>[45:12] >> No, this game I wanted more. So, I chose<br>[45:14] to not go and complete the game because<br>[45:16] I just wanted to keep exploring and<br>[45:18] >> kept going and somewhere around the 90<br>[45:20] minute 90 hour mark I decided, all<br>[45:22] right, it's time to time to wrap this up<br>[45:24] and move on. It's been like six months.<br>[45:25] is, you know, tons of other games, but<br>[45:27] there's something about the samurai<br>[45:29] genre and and the way that game<br>[45:31] controlled and the way it felt. It just<br>[45:33] felt really good. It was fun. The combat<br>[45:35] system was great. It had enough of an<br>[45:38] upgrade system to keep my interest<br>[45:39] going. So, um, when I saw the next one<br>[45:42] get announced, I immediately pre-ordered<br>[45:44] it and I looked at it and I said, "Well,<br>[45:45] that comes out right before Word Camp,<br>[45:46] so I'll see you in November." And here<br>[45:48] we are and I'm about to dive in. So,<br>[45:50] >> awesome. Well, thank you so much, Troy,<br>[45:53] for coming on. Uh, for anyone who's<br>[45:55] interested in learning more about you or<br>[45:57] finding you online, where can people<br>[45:58] find you?<br>[46:00] >> I just actually rebooted my personal<br>[46:02] site for the first time in in a decade.<br>[46:04] So, I'm now going to be blogging at<br>[46:06] troychaplan.ca.<br>[46:08] Um, you can also find me on post status<br>[46:12] or make WordPress if you have any<br>[46:14] questions or want to touch base or if<br>[46:16] you want more information around the<br>[46:18] block accessibility work I'm doing, you<br>[46:20] can check out blockacibilitych<br>[46:21] checkcks.com.<br>[46:23] Um, yeah, I think that's pretty much it.<br>[46:25] >> And the plugin is on WordPress.org, so<br>[46:27] you can download it, uh, just in your<br>[46:30] WordPress admin, uh, and and install it<br>[46:33] and and play around with it.<br>[46:36] Well, thanks again, uh, Troy for coming<br>[46:38] on. Thank you everyone who is watching<br>[46:40] or listening to this in the future. And<br>[46:42] for everyone else, uh, we'll see you on<br>[46:43] the internet.<br>[46:45] >> Awesome. Thank you very much, Chris. <!-- deep-read:sections end --> ## ๐Ÿ“บ Video ![](https://www.youtube.com/watch?v=iJD6EIGb_y0) --- # ๐Ÿ“ Full Notes (Deep-Read Analysis) # ๐Ÿท๏ธ Title: Episode 15: Troy Chaplin - WordPress Accessibility Validation, Word Camp Organizing, and Educational Institution Challenges ## ๐Ÿงฐ Action Inbox - [H1] Test block accessibility validation plugin โ€” try on test site for content editor training #accessibility - [H2] Research multi-tenant WordPress architecture โ€” evaluate for large-scale deployments #architecture - [H3] Explore validation API possibilities โ€” consider contributing to core WordPress #development ## ๐Ÿงญ Table of Contents - [๐Ÿ“ Summary](#-summary) - [๐Ÿ“– Main Content](#-main-content) - [๐Ÿ—’๏ธ Notes](#๏ธ-notes) - [๐Ÿ“š References](#-references) - [๐Ÿ—ฃ๏ธ Paraphrase](#๏ธ-paraphrase) - [๐Ÿ“ฐ Newsletter](#-newsletter) - [โœ… Action Items](#-action-items) - [๐Ÿงช Hypotheses](#-hypotheses) - [๐Ÿ“Š Methodology](#-methodology) - [โ“ Questions](#-questions) - [๐Ÿ”ฎ Future Research](#-future-research) - [๐Ÿ’ก Implications](#-implications) - [๐Ÿง  Learning Styles Assessment](#-learning-styles-assessment) - [๐Ÿ“Š Accessibility Assessment](#-accessibility-assessment) - [๐ŸŒ DEIB Assessment](#-deib-assessment) - [โœ… Logical Validity](#-logical-validity) - [๐Ÿ›ก๏ธ DARVO Analysis](#-darvo-analysis) - [๐ŸŽฏ Conclusion](#-conclusion) ### ๐Ÿ”— References - [Block Accessibility Checks Plugin](https://blockaccessibilitychecks.com) - [Troy Chaplin's Website](https://troychaplin.ca) ## ๐Ÿ“ Summary - Troy Chaplin shares his journey from graphic designer to WordPress developer at Carleton University, managing 800+ sites - Discussion covers challenges of accessibility validation in Gutenberg blocks and the plugin he created to address gaps - Covers Word Camp organizing experience and differences between Canadian and US WordPress communities - Why educational institutions have unique WordPress requirements around accessibility compliance - Bottom line: Developer-created tools can fill critical gaps in WordPress core, especially for accessibility validation ## ๐Ÿ“– Main Content Troy Chaplin transitioned from graphic design to web development, eventually joining Carleton University where he helps manage over 800 WordPress sites. The conversation explores the unique challenges of WordPress in educational environments, particularly around accessibility compliance requirements in Canada. The main focus is on Troy's Block Accessibility Validation plugin, created to address gaps in Gutenberg's accessibility validation. The plugin prevents publishing of inaccessible content by checking for missing alt text, table headers, button text, and other accessibility requirements. It includes a developer API allowing custom validation rules. The discussion also covers Word Camp organizing, comparing smaller Canadian events (250 people) to larger US conferences, and the more intimate networking opportunities at smaller events. Troy describes the technical architecture at Carleton, moving from individual WordPress installations to a multi-tenant system and eventually multisite. ## ๐Ÿ—’๏ธ Notes #### โฑ๏ธ [00:00](https://youtu.be/iJD6EIGb_y0?t=0) โ€” [H1] Introduction and Background - Key idea: Troy's journey from graphic design to WordPress development at Carleton University - Evidence: "I spent the first 10 years of my career being a graphic designer... halfway through that point in my career, I realized that print was probably not going to be my future" #### โฑ๏ธ [03:45](https://youtu.be/iJD6EIGb_y0?t=225) โ€” [H2] Early WordPress Discovery - Key idea: Friend introduced WordPress in 2016-2017 as "something big" - Evidence: "A friend of mine had told me quite early on, he had discovered WordPress... 'I think it might be something big. We should kind of follow this'" #### โฑ๏ธ [07:30](https://youtu.be/iJD6EIGb_y0?t=450) โ€” [H3] Design vs Development Preferences - Key idea: Coding provides more objective satisfaction than subjective design decisions - Evidence: "Design is a tough business because everybody's got their opinion... it's not always rooted in design principles" #### โฑ๏ธ [12:15](https://youtu.be/iJD6EIGb_y0?t=735) โ€” [H1] Educational Institution Challenges - Key idea: Managing 800+ sites with 1000+ content editors like an agency environment - Evidence: "800 different sites and at least eight over or definitely over a thousand content editors and they all have different things they want different needs" #### โฑ๏ธ [16:45](https://youtu.be/iJD6EIGb_y0?t=1005) โ€” [H2] Multi-Tenant WordPress Architecture - Key idea: Custom solution using composer and symlinks for centralized code management - Evidence: "We took WordPress and we built a multi-tenant application with it... through the use of sym links, we were able to create an environment where we had one centralized set of resources" #### โฑ๏ธ [22:30](https://youtu.be/iJD6EIGb_y0?t=1350) โ€” [H3] Training and Documentation Importance - Key idea: Comprehensive training reduces support burden and improves user experience - Evidence: "By doing good training and offering good documentation, it will reduce the amount of support we have to do" #### โฑ๏ธ [28:00](https://youtu.be/iJD6EIGb_y0?t=1680) โ€” [H1] Word Camp Community Building - Key idea: WordPress events create lasting friendships beyond just knowledge sharing - Evidence: "The friendships that you make in this community... are very strong friendships and they will be with you for a long time" #### โฑ๏ธ [35:20](https://youtu.be/iJD6EIGb_y0?t=2120) โ€” [H2] Scale Differences in Word Camps - Key idea: Smaller events (250 people) feel more personal than large conferences - Evidence: "Those conversations I find can get a bit more intimate or they can go on for longer because you're not trying to figure out who do I need to go see now" #### โฑ๏ธ [42:10](https://youtu.be/iJD6EIGb_y0?t=2530) โ€” [H1] Accessibility Validation Plugin Origin - Key idea: Gutenberg makes it dangerously easy to publish inaccessible content - Evidence: "The table block... I can just throw a table block on the page. There's no header by default... there was always a way to allow a table block to be published without a header" #### โฑ๏ธ [45:30](https://youtu.be/iJD6EIGb_y0?t=2730) โ€” [H2] Post Locking Inspiration - Key idea: Ryan Welcher's video on post locking led to validation blocking concept - Evidence: "I saw a video by Ryan Welchure... he had been talking about the post locking functionality in core and the light bulb turned on immediately" #### โฑ๏ธ [52:15](https://youtu.be/iJD6EIGb_y0?t=3135) โ€” [H3] Validation API Development - Key idea: Built developer API during vacation to allow custom validation rules - Evidence: "I built a validation API ultimately... being able to allow other developers to leverage all of the stuff that I had already written in the most simplistic of ways" #### โฑ๏ธ [58:45](https://youtu.be/iJD6EIGb_y0?t=3525) โ€” [H2] Community Feedback and Goals - Key idea: Plugin adoption challenge due to competition and developer visibility - Evidence: "There's so many options. There's a lot of great accessibility tools out there, so it's hard to catch the attention... I'm not really a well-known person either" #### โฑ๏ธ [63:30](https://youtu.be/iJD6EIGb_y0?t=3810) โ€” [H1] Future Vision for Validation API - Key idea: Hopes to propose validation API for WordPress core - Evidence: "I really do truly think we need a validations API... I might just take what I've done and throw it up as a discussion and hope for the best" #### โฑ๏ธ [68:20](https://youtu.be/iJD6EIGb_y0?t=4100) โ€” [H3] Gaming and RPG Discussion - Key idea: Final Fantasy series introduced love for character building and storytelling - Evidence: "Everything about the Final Fantasy series is what drew me into games when I was growing up... just the idea that what you're creating is unique to you" #### โฑ๏ธ [75:10](https://youtu.be/iJD6EIGb_y0?t=4510) โ€” [H2] Gaming Industry Scale - Key idea: Video game industry now larger than movies and music combined - Evidence: "I think the video game industry is actually bigger as far as like... how much it makes compared to the movie industry and the music industry" ## ๐Ÿ“š References - [Block Accessibility Checks Plugin](https://blockaccessibilitychecks.com) - [Troy Chaplin's Website](https://troychaplin.ca) - [WordPress Multi-Tenant GitHub](https://github.com/troychaplin/wordpress-multi-tenant) - [WP Campus Higher Education Report](https://wpcampus.org) ## ๐Ÿ—ฃ๏ธ Paraphrase - Educational institutions managing large WordPress deployments face unique accessibility compliance requirements that current tooling doesn't adequately address - Multi-tenant WordPress architecture can solve code management challenges for large deployments while maintaining individual site flexibility - Smaller WordPress community events provide more intimate networking opportunities compared to massive conferences that can feel overwhelming ## ๐Ÿ“ฐ Newsletter **Accessibility Validation in WordPress: A Developer's Solution** Troy Chaplin from Carleton University identified a critical gap: Gutenberg makes it far too easy to publish inaccessible content. His Block Accessibility Validation plugin addresses this by preventing publication when content fails accessibility checks. **Key Benefits:** - Validates table headers, alt text, button labels, and heading structure - Configurable validation levels from warnings to strict blocking - Developer API for custom validation rules - Post meta validation support **Educational Use Case:** Managing 800+ WordPress sites with 1000+ editors requires systematic accessibility compliance. The plugin serves both as a prevention tool and user education mechanism. **Technical Innovation:** Built on WordPress's post locking functionality, the plugin demonstrates how core features can be extended to solve real-world problems. Resources: [Plugin Details](https://blockaccessibilitychecks.com), [WordPress Accessibility Handbook](https://developer.wordpress.org/accessibility/), [WCAG Guidelines](https://www.w3.org/WAI/WCAG21/quickref/) ## โœ… Action Items #### DevRel - Developer education: Accessibility validation workshops for Gutenberg development - Documentation: Best practices guide for accessible block development - Community outreach: Showcase plugin at accessibility meetups #### OSPO - Accessibility compliance: Evaluate plugin for organizational WordPress deployments - Policy development: Accessibility validation requirements in contribution guidelines - Tool evaluation: Assess integration with existing accessibility scanning tools #### Community - Plugin maintainers: Review accessibility validation integration opportunities - Education: Accessibility training curriculum for content editors - Documentation: Case studies from educational institution deployments #### WordPress - Core: Evaluate validation API proposal for WordPress core integration - Accessibility: Review gaps in Gutenberg accessibility validation - Training: Content editor accessibility training materials - Documentation: Accessibility validation developer documentation - Plugins: Plugin review team accessibility validation standards #### The WPCC - Programs: Accessibility validation tool development grants - Education: Training programs for institutional WordPress management - Community: Multi-tenant WordPress architecture documentation #### FAIR - Technical standards: Accessibility validation requirement documentation - Educational access: Ensure validation tools support diverse learning needs ## ๐Ÿงช Hypotheses - Educational institutions require stricter accessibility validation than general websites due to legal compliance requirements - Multi-tenant WordPress architecture scales better than multisite for large institutional deployments - Smaller WordPress conferences (250 people) provide better networking ROI than large conferences (2000+ people) - Developer-created validation APIs can successfully fill gaps in WordPress core functionality ### ๐Ÿ“Š Methodology - Survey educational institutions about WordPress accessibility challenges and current tooling - A/B test validation plugin effectiveness on content editor behavior - Compare multi-tenant vs multisite performance at scale - Analyze networking outcomes from different sized WordPress events ### โ“ Questions - How can WordPress core better support accessibility validation without being overly prescriptive? - What's the optimal architecture for managing 1000+ WordPress sites with shared governance? - How do accessibility requirements in educational institutions compare globally? ### ๐Ÿ”ฎ Future Research - Integration patterns between accessibility validation and headless WordPress implementations - Machine learning approaches to accessibility validation beyond rule-based checking - Cross-platform accessibility validation for WordPress content consumed via APIs ### ๐Ÿ’ก Implications - Practice: Accessibility validation tools can be integrated into content editor workflows with minimal friction - Policy: Educational institutions need systematic approaches to accessibility compliance across large site networks - Education: Content editor training remains critical even with automated validation tools - Funding: Developer-created solutions can address core WordPress gaps while building community ### ๐Ÿง  Learning Styles Assessment Reading level estimate: Flesch-Kincaid Grade Level 10-11 #### ๐Ÿ‘€ Visual learners - Present: WordPress admin screenshots and block editor interface examples - Improve: Architecture diagrams showing multi-tenant setup, accessibility validation flow charts #### ๐Ÿ”Š Aural learners - Present: Full podcast audio with clear speakers and good audio quality - Improve: Timestamps for key topics, audio chapter markers #### ๐Ÿ—ฃ๏ธ Verbal learners - Present: Conversational format with technical terms explained in context - Improve: Glossary of WordPress-specific terms, accessibility terminology definitions #### ๐Ÿงฉ Kinesthetic learners - Present: Plugin installation and configuration examples mentioned - Improve: Step-by-step tutorials for plugin setup, hands-on accessibility testing exercises #### ๐Ÿง  Logical learners - Present: Clear problem-solution structure, technical architecture explanations - Improve: Decision trees for accessibility validation choices, cost-benefit analysis tables #### ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Social learners - Present: Community building discussion, Word Camp organizing experiences - Improve: Discussion prompts for accessibility team meetings, collaborative validation workflows #### ๐Ÿง˜โ€โ™€๏ธ Solitary learners - Present: Individual developer journey narrative, self-directed plugin development - Improve: Self-assessment checklists for accessibility validation, independent learning paths #### ๐ŸŒฟ Naturalistic learners - Present: Ecosystem thinking about WordPress community and tool interconnections - Improve: WordPress ecosystem impact analysis, accessibility tool landscape mapping ### ๐Ÿ“Š Accessibility Assessment #### Screen reader semantics - Present: Clear heading structure, descriptive episode title and guest information - Improve: Transcript formatting with speaker labels, link text descriptions #### Keyboard navigation - Present: Standard YouTube player controls accessible via keyboard - Improve: Timestamp navigation shortcuts, chapter-based navigation #### Contrast and readability - Present: Standard YouTube interface meets contrast requirements - Improve: High contrast transcript option, customizable text sizing #### Text resizing and reflow - Present: YouTube responsive design supports zoom to 200% - Improve: Dedicated transcript page with responsive text layout #### Media and captions - Present: Auto-generated transcript available, clear audio quality - Improve: Professional captions with speaker identification, downloadable SRT file #### Forms and interactions - Present: Standard YouTube comment and interaction patterns - Improve: Accessible feedback forms for podcast suggestions ### ๐ŸŒ DEIB Assessment #### Cultural breadth - Present: Canadian perspective on WordPress community, international conference comparisons - Improve: More diverse geographic perspectives on accessibility compliance requirements #### Inclusive language - Present: Welcoming tone, explanation of technical jargon in conversation - Improve: Plain language summary of key points, avoid gaming jargon assumptions #### Neurodiversity support - Present: Conversational pace allows for processing, clear topic transitions - Improve: Topic summaries at transitions, consistent episode structure #### Representation - Present: Developer from educational sector, accessibility advocate perspective - Improve: Ensure diverse voices in accessibility discussion across episodes #### Psychological safety - Present: Respectful discussion of challenges and learning experiences - Improve: Content warnings for technical complexity levels ### โœ… Logical Validity #### Strong reasoning - Deductive strength: Clear problem identification to solution development progression - Inductive strength: Generalizes from Carleton University experience to broader educational needs - Causal reasoning: