Tutorial
-
Live regions: announcing dynamic changes
Tell screen reader users about updates such as search results, saved messages and errors with live regions and status roles.
-
WP_Query in depth
Build custom queries, pagination, ordering, and performance flags such as no_found_rows.
-
Motion, animation and vestibular disorders
Why motion can make people unwell, WCAG motion criteria, and implementing prefers-reduced-motion properly.
-
Meta queries and tax queries
Filter by custom fields and terms, combine conditions, and know when meta queries get slow.
-
Accessibility in single-page apps
Announce route changes, move focus to new content and keep titles updated in client-rendered apps.
-
Changing the main query with pre_get_posts
Modify archives and search safely with pre_get_posts instead of extra queries.
-
Running an accessibility audit and remediation plan
Scope an audit, combine automated and manual testing, record issues against WCAG, and prioritise fixes.
-
Enqueuing scripts and styles
Load CSS and JavaScript the WordPress way, with dependencies, versions, defer and conditional loading.
-
Complex widgets: comboboxes, grids and accessible charts
Patterns from the ARIA Authoring Practices Guide for comboboxes and data grids, and making charts understandable.
-
WordPress for developers: how it fits together
WordPress from a developer’s view: core, themes, plugins, the database and the block editor.
-
Setting up local WordPress development
Run WordPress locally with tools such as wp-env, Laragon or Local, and enable debugging.
-
Fluid typography and spacing with clamp()
Scale type and spacing smoothly between screen sizes with clamp(), and keep text zoomable.
-
Accessible forms: labels, instructions and errors
Labels, hints, required fields, grouped controls and error messages that everyone can find and fix.
-
Responsive layouts without media queries
Intrinsic layouts that adapt by themselves with flex-wrap, auto-fit and minmax().
-
Introduction to ARIA: roles, states and the first rule
What ARIA does and does not do, roles, states and properties, and why native HTML comes first.
-
Choosing breakpoints from content, not devices
Find breakpoints where the layout breaks instead of copying device widths, and how many you really need.
-
Links or buttons? Choosing the right element
Links navigate and buttons act: the difference for keyboard and screen reader users, and fixing div buttons.
-
Responsive tables and wide content
Keep tables, code blocks and embeds usable on small screens without breaking the page.
-
Testing responsive designs in DevTools and on real devices
Device emulation, zoom testing at 200 and 400 percent, real-device testing and common responsive bugs.
-
Arrays
Indexed and associative arrays, nested arrays, adding and removing items, and the array functions you will use every day.