One thing that often comes up when performing an accessibility audit of a website, is the lack of the alt attribute when it comes to images. Fortunately, this is something that can be easily fixed, and you can start adding it to your images right now and see an immediate improvement in the accessibility of your site. In this tutorial, I’m going to explain what the alt attribute is, how and why to use it, and how you can do so using WordPress.

What is the alt attribute?

The alt attribute is part of the HTML tag which is used to insert images into web pages. Alt is short for alternative, and it defines text that is displayed as an alternative in case an image doesn’t display correctly in a browser. It also gives search engines and screen readers an idea of what the image contains. For screen reader users, it means the difference between “graphic img1000000000” or something similar and “graphic man holding a football” or other similar descriptive text.

What kinds of images need alt attributes?

You may be thinking that if there’s an image, it needs an alt attribute. However, this is not always the case. For example, if an image is decorative, such as images used solely for creative effect, the alt attribute should be left blank, like this:

In the case of an image that’s used as a bullet, you can use this:

Two ways to add an alt attribute in WordPress

If you’re using WordPress, you have two options for adding the alt attribute to your non-decorative images. The first is to manually add it to the tag. If you’re using the text editor, and manually inserting your images, it looks like this:
brief description of your image
If you’re inserting media using WordPress’s built-in media library, this gets a little easier. When adding the details for your image, there is a field that allows you to enter an alt attribute. Adding some meangful text to this field will ensure that your alt attribute is added without much work.

What counts as meangful text and how long should the text be?

The final thing to keep in mind when you’re adding alt attributes to your images is to make sure the text is meangful. For instance, if you have an image of a woman standing at the check-in counter at an airport, instead of labeling that image “woman,” try labeling that image something like “woman standing at airport check-in counter.” Also, keep your descriptions brief. Don’t use any more than fifty characters. If you need to add a longer description, in WordPress you can add this longer description to the caption field. There’s also a caption attribute you can use if you’re adding it by hand.

The alt attribute is an easy way to increase the accessibility of your website and content, and it’s also an easy way to help the search engines and other people get a better idea of what you’re saying with your images. If you’re going to use images as part of your content, (and you should), make sure that everyone can enjoy them. After all, you’ve spent a lot of time either finding those images or creating them yourself. With an alt attribute for each one, you can ensure the widest possible reach for your work.

If you’re using the Genesis Framework and a and a child theme, you may have noticed that there are some credits appearing at the bottom of every page in the footer. You can change these credits so that they appear exactly how you want them to, with the links you want. In this tutorial, I’m going to show you how.

This tutorial uses a customized version of the Centric Pro Theme, but this code snippet will work on any Genesis child theme.

First, the original code

Here is the original code with the original credits from StudioPress:

//* Customize the credits
add_filter( 'genesis_footer_creds_text', 'sp_footer_creds_text' );
function sp_footer_creds_text() {
echo '

echo 'Copyright © ';
echo date('Y');
echo ' · My Custom Link · Built on the Genesis Framework';
echo '


Next, the modified code

And here is that same code with my modifications:

//* Customize the credits
add_filter( 'genesis_footer_creds_text', 'sp_footer_creds_text' );
function sp_footer_creds_text() {
echo '

echo 'Copyright © ';
echo date('Y');
echo ' · Customer Servant Consultancy Inc. · Backed by WP Engine, · Built on the Genesis Framework · using a highly customized version of the Centric Pro Theme';
echo '


What is this doing and how do I change it?

This code is made up of a filter, and a function with some echo statements. A filter is a function that changes another function. Instead of having to rewrite the function you want to change, you can use a filter to change the function by taking a piece out or adding a piece, and it’s one line of code instead of an entire function.

So in this case, we already have a function called genesis_footer_creds_text, and we want to make some changes to that function with our new function, sp_footer_creds_text. The original function lives in the core of the Genesis framework, and changing it this way saves us the time we’d spend finding the original function, copying it to the child theme, and then changing it. We can use sp_footer_creds_text to make only the changes we need while leaving the rest of the genesis_footer_creds_function intact.

As part of the sp_footer_creds_text changes, we have some echo statements. Echo statements are used in PHP to output text to the screen. In our case, they’re being used to output the copyright statement and some links. As you’ll notice in the code samples above, they can take HTML markup.

The first statement echoes, (or outputs) the beginning of the HTML with classes from the CSS so the credits will display properly with their appropriate styling. The second echo statement uses PHP time and date parameters so that the current year is automatically generated, which means we don’t have to change it every year manualy. It also includes the link to the copyright holder, and it can also include text with no link. There’s also some code that generates some punctuation. You can’t just write the punctuation in because PHP uses half the punctuation marks in the English language to do other stuff. So we have to tell PHP that we actually want to output the punctuation to the screen, not interpret it.

A note on copyright

According to U.S. copyright law, (here), the year of first publication also has to be visible in order for copyright to be valid. There is a shortcode you can use that will help with including the first date of publication: [footer_copyright first="201x"] where “x” is the last digit of the year of first publication. Thanks Gary Jones for the tip.

The rest of the echo statements contain links to the Genesis framework, and, in my modification, the link to the child theme I’ve modified. You can add as many of these as you like.

The final echo statement outputs the closing HTML markup so that we don’t end up with open tags and break the display. Finally, we close the function with a curly bracket.

If your child theme already contains a function that customizes the credits, you can remove that function and use this one, or customize the function that’s there. And of course, all of this goes in your theme’s functions.php file, since it controls how something is displayed on your site.

An Alternative Function with Shortcodes

As I mentioned in the copyright note above, there is a shortcode you can use to generate your copyright statement. There are also shortcodes you can use to generate the link back to StudioPress and the Genesis framework, as well as the child theme link. Here’s a function using those example shortcodes.

add_filter('genesis_footer_creds_text', 'custom_footer_creds_text');
function custom_footer_creds_text($creds) {
$creds = '[footer_copyright]' . get_bloginfo('name') . ' • Built on the [footer_genesis_link] powered by [footer_wordpress_link]';
return $creds;

In the above function, shortcodes are being used to generate the current year of the copyright statement, the blog name, the Genesis framework link, and the WordPress link. All of these shortcodes have attributes that can be used. For instance, for the [footer_copyright] shortcode, you can use the “first” attribute to specify the first year of publication, like this:

[footer_copyright first="20xx"]
Within the quotes, add the first year of publication, such as 2005.

Customizing the credits at the bottom of your Genesis powered site lets you add a more personal touch, and gives you just a little bit more control. If you have any questions about this tutorial, feel free to leave them in the comments.

The short answer to this question is no, and there are two reasons.

  1. It violates the WordPress trademark
  2. It confuses users

The Trademark

The WordPress Foundation, the organization tasked with protecting the WordPress trademark, has set very specific guidelines about when and where the WordPress trademark can be used. Using WordPress as part of a top-level domain, (for example, or anything that is not, is strictly prohibited. Strictly prohibited as in “under no circumstances.”

It Confuses Users

Users know, (or learn) that they can go to any site with WordPress as part of the domain name to find information and resources that are part of the official WordPress project. If other business use WordPress as part of their domains, this creates confusion for users because the confuse the business with actual WordPress.

What if I Didn’t Know?

If you’re reading this post, or if someone else has made you aware of what’s here through other means, you know that you have to do something with your WordPress domain. You can redirect it to another non-WordPress domain name, but you can’t promote that domain. You have to promote the new one. Ideally, you should turn the WordPress domain over to the foundation, or at the very least, let it expire.

Offering WordPress-based products and services is a wonderful thing. There’s plenty of work to be had, and if your product or service is a good one that helps others and/or benefits the community, it will get noticed. Just ensure that you do right by the trademark.

If you google “WordPress expert,” you’re going to get About 371,000 results. That’s a lot of results. And if you don’t know anything about WordPress, or know very little about it, there’s no way you’re going to be able to sift through those results and find a true expert. Especially since anyone can slap a label on themselves, do some slick marketing, and get you to fork over the cash.

This makes me angry and sad.

There really are WordPress experts out there who can help you with whatever you’re creating. In this post, I’m going to show you what you should be looking for so that you can hire the person or business that’s right for you.

Do they care about WordPress?

Before you look for anything else, find out if the person or business you’re wanting to hire cares about WordPress. Do they contribute to the project in any way, like writing WordPress code, writing and supporting themes or plugins, writing documentation for the Codex, and answering questions in the official WordPress forums? Are they involved with the community and interacting with it, giving and taking as an integral part of it? Are they writing tutorials so that others can learn? And are they honest enough to admit that they don’t know something about WordPress, but also expressing and demonstrating a willingness to learn more and increase their skill set? These qualities are foundational to any WordPress expert’s pedigree.

Now let’s get technical

Does the person or business claiming WordPress expertise have intimate familiarity with WordPress’s underlying and surrounding technologies: HTML, CSS, PHP, JavaScript and libraries such as JQuery among others, coding standards specific to WordPress, MySQL, Apache and other web servers like Nginx, and can they explain how all the pieces fit together in understandable language that is devoid of buzz words? If no, then they’re not WordPress experts.

Letting you Know when WordPress Might Not Fit

WordPress is great. It can do pretty much anything you want it to with the right amount of work. But it’s not always right for every project, and anyone who is an expert and works with it on a daily basis will be honest enough to tell you when it might not be the best fit for your project. They’ll also explain why, in language you can understand and that is empty of all the jargon. If they can’t do that, they’re not an expert.

What if I Still want to Build it with WordPress?

If your WordPress expert has explained to you why WordPress as it stands might not be a good fit for your project, and you still want to build it with WordPress, the next answer should never be “You can’t do that with WordPress.” This is different from “WordPress might not be the best fit.” You can build anything you want with WordPress and make it do whatever you want, given the right amount of work. That work may include theme customization, plugin customization, or completely custom plugins and a completely custom theme. It also might be outside your budget. Any WordPress expert should be able to explain all of this to you as it relates to your project. They should also be able to tell you whether or not they are the right fit for you or your project, and if they aren’t, refer you to someone who is.

Becoming a WordPress expert is hard work. It doesn’t happen overnight, and you don’t become a WordPress expert by reading one book, finding a page builder, and throwing together one or two sites. It requires eating, sleeping and breathing WordPress and being surrounded by the community. it requires constant learning. And the work never ends. Things change on a pretty frequent basis within the WordPress ecosystem, and any WordPress expert worth their salt has to be a part of that. So when you’re looking for a WordPress expert, don’t just go with the first one you find on Google claiming that title. Don’t just go with the cheapest, but don’t go with the most expensive either. Don’t be afraid to ask lots of questions. Doing this initial work will save you in the long run and could be the start of a wonderful relationship between you and your expert.

I like to spend New Year’s Day pondering the year that just left and cementing goals for the new one. Last year was both strange and wonderful for me. The one that’s just arrived seems so full of promise, and I want to capitalize on that. I usually do this kind of stock-taking privately, but this year I’m taking it public and bringing it over to the professional blog so that I have some accountability to go with the introspection. I think it’ll help with turning more goals into reality.

Goals Realized

2014 was actually pretty great considering (a)I didn’t do a lot of marketing, and (b) I spent two months out of action while dealing with what turned out to be Bell’s palsy. I started out the year with some theme customizations, and I also filed the paperwork to create the company that is Customer Servant Consultancy. This is a huge achievement for me, because in my mind it lends some legitimacy to what I’ve been doing full time for the last five years; Working with WordPress. I’ve also conducted two successful semesters of the WordPress course through the Cisco Academy for the Vision Impaired. In September, I got serious about my business hosting and moved all sites over to WPEngine so I no longer need to worry about site performance or my own security or whether or not things will scale when I add new services or features to the site.

The next big achievement for me last year was going to WordCamp San Francisco. This one’s been on the bucket list ever since WordCamp first started happening. But it was also a huge achievement because I almost didn’t get on that plane. The day before while I was getting ready to leave, I had a serious case of Impostor Syndrome, and I was convinced that I would meet all the WordPress people I interact with online, and some I don’t but look up to, and they’d all figure out that I have no idea what I’m talking about and that I’ve spent the last sixteen years faking my way through web technologies and accessibility, and the last ten years faking my way through WordPress and leading everyone down a path ending in catastrophy, all while playing the blind card. So I muddled my way through packing and didn’t sleep because I was also afraid I’d sleep in and miss the plane. Yeah, completely irrational. The trip was amazing though, and I met all sorts of great people who influence me in ways too numerous to count. I of course learned a lot, both during the camp and the summit and contributor days afterwords, tried new beer, (come on, everybody knows no year is complete without at least one new beer), and cemented the connections I have online with three-dimentional ones.

I’ve also made some stronger connections within the Genesis community which I think are professionally promising. Which leads me to my goals for 2015.

Looking Forward

Passive Income

Affiliate Marketing

In 2014, I started dabbling in affiliate marketing, and made a few sales. In 2015, my goal as far as that’s concerned is to make affiliate marketing part of my overall passive income strategy. My strategy has four pillars: Support at three varying levels, maintenance at three varying levels, affiliate marketing as part of the content I write for this site, and courses, which I’ll touch on in a bit. A note about affiliate marketing: Yes, I’m going to sell. No, I’m not going to be a douche about it. I will continue to write tutorials for the sake of teaching people how to do new things. But I’m going to be a little more aggressive about adding affiliate links as part of the linky goodness. There are some specific products I use on a regular basis, and as long as I’m writing about them and spreading the word, I may as well earn a little from it. Plus, twenty percent of all commissions from affiliate links will go to support the NVAccess Foundation, which develops a free and open-source screen reader for the blind.


Regarding courses, there are two planned for now: How to clean up a hacked WordPress site accessibly, which is scheduled to land in February, and a course on making Genesis child themes accessible, which is scheduled to land in May. Both of these will be pre-recorded with notes and appropriate exercises with grading and everything.


I also have a few goals that are related to getting noticed/self-promotion. First, I’ll be co-hosting a podcast on WordPress that reaches out to those outside the WordPress community who have accessibility concerns. I’ll be hosting that with Laura Legendary of elegant Insights, and Elle Waters of Simply Accessible. The podcast will run on the Cool Blind Tech network, as well as being archived here. I can’t speak for the other two co-hosts, but my goal with the podcast is to demonstrate that there’s a lot more you can do with WordPress than just run a blog, and that you can do most of it with very little sighted help.

Speaking of podcasts, related goals for 2015 include co-hosting Genesis office Hours, as well as the Dradcast. I listen to several podcasts on various topics, but these are the two I try to make it a point not to miss.

Getting Listed on the WordPress Credits Page

I love contributing to the wordPress project. Up until this year, I’ve been doing that in the forms of testing and providing tips to other developers as part of the Accessibility Team, as well as answering questions in the WordPress and Genesis support forums. I will continue to do both of these. But I also want to start sharing the code I write on both GitHub as well as here, and I also want to start submitting patches to tickets I test. I benefit from the code snippets shared by others, and I appreciate their sharing of said snippets. But I often have to modify them so that the output they generate is accessible. That is not a stab at developers/designers. and why is a discussion for a later post. But during this year, I’d like to start contributing those modified code snippets back to the community. This will take some adjustment to my workflow. It’s not that I’m purposely stingy with code, I just write the code to solve a particular problem I’m having and then stash it away for later use if necessary. This benefits me and the people I work with, but I think it could also benefit the wider community.

I also plan to continue working with Slack to improve the accessibility of their product. I have a few things to test currently, and will be making steps throughout this year to make that relationship a closer one, without being creepy, of course.

Then there’s the WordSesh Transcription project. I haven’t forgotten about this, and have started transcribing the first talk. But I’m changing up the workflow on this so I can spend an hour transcribing instead of trying to knock it out in one sitting. I have twenty-five minutes left to go in the first talk, and after transcribing I will finish the editing and post it.

These are my concrete goals for 2015. As you can see, I’ve got a ton of work to do. But I think as long as I take these goals in small, bite-sized chunks, with a lot of self-examination thrown in to ensure that I’m staying on track, I can achieve them by the end of 2015. I wish everyone success in whatever they’re trying to do in 2015, and I sincerely hope this is a great year for everyone.