The Tag Cloud widget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. is still pretty popular and for a number of years, it has used title
attributes to visually display the number of posts using a specific tag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.).
Example of a title
attribute displaying the number of items for a specific tag in WordPress 4.7
WordPress 4.8 removes these title
attributes and replaces them with aria-label
attributes with optional counts displayed in plain text.
Why it matters
Title
attributes aren’t very accessible. Depending on the specific assistive technology Assistive technology is an umbrella term that includes assistive, adaptive, and rehabilitative devices for people with disabilities and also includes the process used in selecting, locating, and using them. Assistive technology promotes greater independence by enabling people to perform tasks that they were formerly unable to accomplish, or had great difficulty accomplishing, by providing enhancements to, or changing methods of interacting with, the technology needed to accomplish such tasks.
https://en.wikipedia.org/wiki/Assistive_technology and on user settings, they might be completely ignored. On touch devices, title
attributes are a bit pointless.
The best option is not to rely on title
attributes to convey important information to users. Information that is important enough should be available to all users.
In the last few releases, WordPress has been progressively removing many title
attributes used in the admin (and super admin) screens (see: #24766). The same principle applies to the front end. The Tag Cloud widget is another step towards the progressive removal of title
attributes in the front end where they’re used inappropriately.
What plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party or theme authors should know
There are no visual changes by default, other than the removal of the title
attributes. There is a new option for developers though: tag counts can be displayed in plain text within the list of tags. Users will now find a checkbox in the widget interface, consistent with what other widgets already do (e.g., Archives and Categories widgets).
The new option “Show tag counts” in the widget admin interface
Checking the “Show tag counts” option in the admin will make the Tag Cloud show the counts alongside each tag. The screenshot below compares the Tag Cloud with and without the counts displayed:
Themes can style the tag counts targeting the new CSS Cascading Style Sheets. class tag-link-count
. Also, note that wp_generate_tag_cloud()
has a new show_count
argument. Themes and plugins that filter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. the Tag Cloud arguments can use this new argument to force the tag counts to be displayed.
Theme authors are recommended to check how the tag counts look like in their themes and make small CSS adjustments if needed. And remember, the tag counts are not displayed by default! Users can enable and also disable them at any time.
Some technical details
The relevant changeset is [40816] and the related ticket Created for both bug reports and feature development on the bug tracker. is #35566. Behind the scenes, the tag cloud now attempts to determine whether to output the aria-label
attribute, trying to respect the theme author’s intent.
By default, the Tag Cloud displays tags in different font sizes to visually represent how many times they’re used. When tags have a different font size, they visually convey important information that should also be available to assistive technologies.
Sometimes instead, theme authors set up the Tag Cloud to display all tags with the same font size. Twenty Sixteen, for example, displays all the tags with a “flat” styling. It does that by filtering the arguments passed to wp_generate_tag_cloud()
and setting the smallest
and largest
arguments to the same value (note: this is the recommended way to output “flat” tags).
In order to always serve the same information to all users and try to respect the theme author’s intent, the aria-label
that conveys the count information to assistive technologies gets printed out:
- when tags have a different size
- when the tag count is displayed in plain text (for example when users check the checkbox in the Tag Cloud widget), regardless of the tags font size
A quick update about title
attributes
To give an idea of the progress done so far, here’s data from the WordPress codebase from version 4.0 to 4.7. Searching for occurrences of title=
(space-title-equal) only within .php
files and only in the wp-admin
directory:
WordPress 4.0: 157 results found in 37 files
WordPress 4.1: 156 results found in 37 files
WordPress 4.2: 146 results found in 35 files
WordPress 4.3: 101 results found in 30 files
WordPress 4.4: 97 results found in 32 files
WordPress 4.5: 21 results found in 12 files
WordPress 4.6: 19 results found in 11 files
WordPress 4.7: 17 results found in 9 files
Of the 17 title
attributes in WordPress 4.7, four of them are legitimate because they’re used on <iframe>
elements and most of the other ones are in files no longer used by core Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Many of these occurrences were within loops so the number of title
attributes actually output was higher, yet going from 157 down to a very few is wonderful progress.
As always, any comments and contribution to improving accessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) are welcome!
#4-8, #accessibility, #dev-notes
You must be logged in to post a comment.