Introduction
Accessibility, Craft tips, plugins, and more.
Hello, Craft friends. Accessibility is the unofficial theme of issue 98. Thanks to news about Domino’s Pizza, the US-based fast-food chain, you’ll find many links on the subject. Of course, Andrew Welch has written about the topic. His post was mention in issue 45 of the newsletter and is an excellent place to start your reading.
We also have the latest Craft releases and other Craft-related news, handy tips for users who spend time in the Craft control panel, a trio of links from Piotr, other tips, articles, and plugins.
As always, if you’ve got a Craft-related link to share, visit the submit page.
Thank you to this issue’s sponsors.
Need responsive images? Of course, you do. ImageOptimize by NYStudio 107 has got you covered whether you're using Craft's built-in image transforms or a service like Imgix.
Freeform is the convenient and flexible form plugin for Craft CMS. It's loaded with features. Learn about the power of Freeform.
Let’s hit the links.
-John Morton
News
Craft 3.3.9 released
As of Craft 3.3.7, when saving a user, email validation errors are now copied over to the email attribute from the unverifiedEmail
attribute. In 3.3.9, that unverifiedEmail
value is included by default in user queries.
Dot All 2019 Recap by Happy Cog
Happy Cog published a recap of Dot All. If you’re looking for other recaps, there were several in the previous issue.
Security incident at Buddy
If you're a Buddy user, you need to update your AWS secrets immediately. This security alert was only announced to “account owners with AWS integrations” instead publicly. 🤨
Supreme Court Says Domino's Must Face Blind Man's Website Lawsuit
The link above is to an article about Domino's being open to lawsuits regarding the accessibility of their site. This news might help you stress the importance of accessibility to your clients when budgeting properly for accessibility in your next project.
This news article prompted the sharing of many links on the topic of accessibility as you'll see in the It’s not Craft, but it’s interesting section of this issue.
Blitz 3 enters beta with JAMstack support
Blitz 3 is here (in public beta) and allows you to bring your Jedi Twig templating skills to the JAMstack!!
Automatic, continuous deployment from Craft to your remote host? Very cool.
Read to the end to see how your help in the beta can turn into a free Blitz license.
Featured Sponsor

ImageOptimize: Optimized, Responsive Images Made Easy
Automatically create & optimize responsive image transforms, using either native Craft transforms or a service like Imgix, with zero template changes.
Tools, tips, and fundamentals
Tip: SHIFT+SPACE to see Assets fullscreen ⭐️
In Discord, Ben shared a great tip. There is no link to share, but the tip is too good not to include here.
As the title of this entry says, in the control panel, you can select a single asset then press shift
+ space
to have a full-screen preview of your asset displayed.
Tip: Double-click the green dot for quick edits ⭐️
Daryl mentioned a Craft control panel tip in Discord worth sharing. When you see a list of entries, you can double-click the green dot and open a quick edit modal window.
That's a big database you've got there.
Discussion about an oversized database brought up some potential solutions in Discord recently. For example, you can run the garbage collector to clear out soft deletes and pending users with this command:
./craft gc/run
or
./craft gc --delete-all-trashed=1
You'll want to read the documentation on Craft garbage collection. (As always, have backups of your database for safekeeping.)
Another link to check on an oversized database was this post. It has details on the entryversionerrors
and entrydrafterrors
tables and when it's safe to remove them manually. On this page, specifically, look at Brandon's reply here.
SEO tools
Again In Discord, there was a discussion about SEO tools that let you compare site structures. People shared different SEO tools and services they've used. Here are some links mentioned in that discussion.
Twig templating tips and tricks for Craft CMS
Craft Snippets, aka Piotr Pogorzelski, has created a collection of useful tips, tricks, and code snippets that will help you with creating better Twig templates.
Navigation approaches in Craft CMS
If this post on navigation approaches interests you, you might also enjoy Content utopia, which was mentioned previously in issue 30.
Discovered: a failed job's error message in the Craft control panel ⭐️
Ben Croker found a failed job's error message is set as the title
attribute of the label. Nice discovery!
Using Javascript in Twig templates with Craft CMS
Piotr is back with another helpful post on Craft Snippets. He’s also released a new plugin, Javascript helpers, which you’ll find below in the Plugged In section, that makes the process he describes in this post a bit simpler.
Learn how to use Javascript in Twig templates in order to make your code more portable and maintainable.
Perfecting your technique
Crafting for the Author - 7 Principles for Improving Author Experience
As mentioned in the Happy Cog Dot All recap, the slides from the presentation by Allyssa Price & Nick Spriggs are now available.
Question about CraftCMS Github Actions
As I write this, the link above is an open question without a response regarding Craft and Github Actions. Please contribute if you have knowledge to share.
Jeff Rafter has written a non-Craft-specific post, Working with GitHub Actions, that says, “the possibilities are endless.”
Sponsor

Convenience, built right into Freeform
Freeform’s extensive built-in convenience features and flexible templating will have you ready in minutes! No other form plugin even comes close to comparing! Stop wasting valuable development hours wrestling with and tuning the Craft Contact Form or other alternatives.
Plugged In
Javascript helpers
This plugin allows you to output all static translation messages into a Javascript object and easily transfer any Twig variables into Javascript. Read Piotr’s post for details on using this plugin.
Barclaycard ePDQ eCommerce Gateway
This plugin provides the ability for Craft Commerce 2 to process one-off payments using the Barclaycard ePDQ eCommerce payment solution.
OAuth 2.0 Client
This plugin provides developers with an easy centralized approach to managing and storing OAuth 2.0 clients and tokens.
Migration Manager for Craft CMS
Create migrations to easily move settings and content between CraftCMS website installations with the click of a mouse, no coding required.
Craft JWT Auth
This plugin enables requests to Craft to be securely authenticated in the presence of a JWT that can be successfully verified as matching a secret key generated signature.
Navie
Navigation plugin for Craft CMS 3 with GraphQL and custom field support. Navie allows you to add custom fields to your navigation items.
Cookie Boss
Allow your visitors to set there cookie preference, which you can use to enable features in your site. Create your own cookie groups, make them required and/or set there default state.
Yii, Twig, PHP & More
Preloading in PHP 7.4
PHP 7.4 adds preloading support, a feature that could improve the performance of your code significantly.
Andrew also had a quick comment on the topic.
It’s not Craft, but it’s interesting.
WAVE Web Accessibility Tool ⭐️
This free online tool will get you started down the accessibility path. Just enter a URL and see the results.
WAVE is developed and made available as a free community service by WebAIM. Originally launched in 2001, WAVE has been used to evaluate the accessibility of millions of web pages.
webhint, the hinting engine for web best practices
webhint is a customizable linting tool that helps you improve your site's accessibility, speed, cross-browser compatibility, and more by checking your code for best practices and common errors.
WebHint in Firefox DevTools: Improve Compatibility, Accessibility and more
WebHint (or, webhint mentioned in the previous link, ¯\_(ツ)_/¯
) is included in Firefox DevTools.
Tenon.io: Accessibility as a Service
Tenon's tools, testing, and training fix accessibility for your entire organization.
axe: Accessibility for Development Teams
Start building accessibility into your dev process today. "Axe is ideal for development teams to test their Web, Android, and iOS applications to help identify and resolve common accessibility issues."
How to Meet Web Content Accessibility Guidelines
A quick, customizable reference to Web Content Accessibility Guidelines (WCAG) 2 requirements (success criteria) and techniques.
Jeremy Keith on Dark mode ⭐️
Jeremy Keith discusses some CSS magic... dark magic. 🤪
For example:
<meta name="supported-color-schemes" content="light dark">
"...allows browsers to swap out replaced content; interface elements like form fields and dropdowns."
Comparing A Test Website To A Live Website
You can crawl your staging or test environment and compare it to your live website to see how they are different.
10-part Learn Webpack Course ⭐️
Trying to wrap your head around Webpack. This free 10-part course will help.