Where Did My Brain Go?

Discover my upcoming memoir, Where Did My Brain Go?, about recovering from a traumatic brain injury.

Quick Mail 3.0.0 Improves Editing and Accessibility

Discover the latest version of Quick Mail.

Quick Mail is a WordPress plugin for sending email with attachments from the WordPress dashboard. Quick Mail includes options to send email to members of your site, or anyone.

I created Quick Mail to send email to WordPress users on a site, without looking up their email addresses.

Download Quick Mail now, or read on for more information.

Quick Mail was published two years ago. I generally update Quick Mail when a new version of WordPress is released. I use Quick Mail regularly, and try to improve it.

What’s New in Quick Mail 3.0.0?

Quick Mail is my first public plugin. I wrote dozens of plugins before Quick Mail, but they were used by American clients on desktop computers.

Quick Mail is public. It should work for anyone, in any language, on any modern computer.

I was using Quick Mail on my phone, when I realized that Quick Mail’s data entry screens could be improved.

When I created Quick Mail, most of my time was used for adding and testing features. I should have devoted more time to my plugin’s two data entry forms, to make it easier to use.

Since I was updating the forms, I wanted them to be “friendly” to users who are blind or have poor eyesight.

Quick Mail is now an Accessible Rich Internet Application. But what is accessibility? The W3C says:

Accessibility of web content requires semantic information about widgets, structures, and behaviors, in order to allow assistive technologies to convey appropriate information to persons with disabilities.

In plain language, I added information for screen readers, and improved the text layout.

I also included the TinyMCE editor for rich text messages. Email messages can include WordPress shortcodes too.

How to Create Accessible Data Entry Forms

I created one small Website, about 12 years ago, that was used by blind people with the JAWS screen reader. My instructions were to add titles to links, use as much white space as possible, and limit my use of images.

I had no instructions from a client for Quick Mail. I read the HTML and ARIA specifications, and followed instructions to add:

It is easier to understand, if you follow the changes. Forms on HTML 5.2 explains the latest version of the HTML form elements.

  1. Replaced tables with HTML5 form elements. I used optgroup to add more space between form elements.
  2. Added identifiers to form labels and description. Each label and description needs a unique identifier for screen readers.
  3. I had been wrapping inputs in labels, e.g. <label><input>…</label>. Added aria-labelledby to each input, and for= to each label, to associate labels with inputs. This allowed me to associate an additional description with certain inputs.
  4. Added aria-describedby to link certain fields with additional help text.
  5. Used a high contrast color for input labels and italic text for descriptions. I tried using WordPress Blue, but it was rejected by WebAIM Color Contrast Checker.
  6. Copied output of new forms to two Web pages, so I could test them with the WAVE Web Accessibility Tool. No errors!

The entire job took over a day, mostly reading the specifications. It was worth it to make Quick Mail accessible to users with disabilities.

Rich Text Messages

Quick Mail uses wp_mail to send mail. wp_mail can send plain text or HTML messages. My idea of rich text is typing HTML, or copying and pasting a Web page’s source into a message. Pasting the source into a message is handy for sending post drafts or private pages.

I used to include a sample html file to demonstrate sending a rich text message.

However, lots of WordPress users create posts and pages with rich text using the WordPress editor. I used to work with a content editor who used the WordPress editor all day, adding dynamic content with WordPress shortcodes.

I used wp_editor() to enable Quick Mail users to add rich text and shortcodes to their messages.

The editor had to recognize shortcodes because the WordPress editor’s “Add Media” button inserts a caption shortcode to display captions under images. Additionally, some WordPress themes add buttons to the TinyMCE editor used by WordPress.

It was surprisingly easy to use wp_editor. My only problem was recognizing HTML. I used to test for HTML by checking if the first character was “<” — the beginning of an HTML element or tag.

But an HTML message might begin a shortcode, or include a shortcode. Quick Mail uses do_shortcode to test for shortcodes. do_shortcode returns the original content if no shortcodes were found.

Therefore, a message is now considered to be HTML if it starts with “<” or contains valid shortcodes.

Who Can Send Rich Text Messages?

If you use the Visual Editor for editing posts and pages, it will be available in Quick Mail.

Users must have Visual Editor enabled on their profile.

Get Quick Mail 3.0.0 from WordPress or Github

Download Quick Mail 3.0.0 from the WordPress Plugin Repository. Fork Quick Mail on GitHub to add new features.

Quick Mail 3.0.0 was tested with WordPress 4.7.3, including multisite.

I hope Quick Mail makes your life easier. Please leave a review to help others find it.

Thanks to everyone who has been translating Quick Mail

Review my previous articles on Quick Mail for more information.