Mika Epstein has a post on why you shouldn’t use copy protection to try to protect your content. This of course applies to websites. I think you should go read the post, but the short version is this: It doesn’t work.

If you look at the post, you’ll see some very easy ways to get around said protection: Developer tools. These are the tools developers will need to bring up if we’re going to help you fix problems with your site, especially when we’re answering questions in the WordPress support forums. By disabling right-clicking, (which is what copy protection relies on), it’s harder for us to open those tools. But it’s not impossible.

One of the other methods used in copy protection is disabling copy/paste capabilities. This breaks things for adaptive technology users in all kinds of ways, basically resulting in “We can’t read your content.” If we can’t read your content, we’re not going to visit your site. And we’re going to tell our friends about it. Who will also avoid your site, tell their friends, you get the picture.

Stealing content is not cool. We all pretty much agree on that, content thieves obviously excluded. But given that the standard methods of copy protection don’t work in the first place, people who create websites have a really good reason not to use it.

Nothing can replace the eyes of a skilled professional when it comes to web accessibility testing. This is because so much of determining a website’s accessibility is subjective enough that an automated tool cannot help you when it comes to making definitive judgments about whether disabled people who visit your site and interact with it can actually use it.

But before I tell you why automated web accessibility testing is bad in more detail, I want to tell you what it’s good at, because despite not being a complete solution, there are some aspects of accessibility testing they excel at.

Piles of Code

A good web accessibility audit involves an in-depth, manual look at all the generated source code that makes up a website. Doing this is the best way to find out if problems exist, where they are, why they’re occurring, and how to fix them once they’re found. Doing everything manually is great if the website I’m working on is small. But once websites started becoming larger, web accessibility professionals needed a way to quickly scan through thousands of lines of generated source code to get a basic idea of where things stood.

This is where automated tools come in. They help by providing a general layout of the accessibility landscape, and they provide a list of things which need further attention in a manual audit. When you’re staring at a page that contains hundreds or thousands of lines of JavaScript, HTML and CSS, (like, for example, the Yahoo homepage or the Facebook homepage), automated tools can be a great help. On large sites, there really is no other way to find all the errors than automating the task. This includes sites that are using a templating system, such as WordPress sites. When conquering these, you’ll need to use an automated tool that crawls the entire site to get the assessment done. When I began working on Utility Pro, running it through an automated tool was the first thing I did in order to find out what I needed to start work on first, and in what priority.

Some errors don’t need human inspection

One of the best examples of errors that an automated tool can save time on is images without alternative text. In cases where there is no alternative text, an automated tool is used to document every occurrence, instead of an auditor manually going through and finding each one. But in cases where images have alternative text, and it’s not meaningful, a manual audit will find these and suggest meaningful text.

An automated tool lays the groundwork for a manual audit

The most appropriate way to use an automated web accessibility tool is not to generate a comprehensive list of pass or fail judgments on the site being tested, but to give an auditor a list of things that need a closer look. A good tool will provide a list of errors with line numbers and snippets of code that’s causing them. This information helps an auditor decide whether the problem really is a problem, so they can then tell the client why it’s a problem and suggest ways to fix it. More importantly, it’s a good way to find patterns of errors, which then helps an auditor determine the best way to help the client integrate accessibility best practices into their workflow.

Automated web accessibility tools can also help find exceptions in an otherwise accessible site. I’ve created sites or added content which contained good markup, but since underlying tools may change what happens to that markup, I’ll run the site through an automated tool and sometimes find errors I hadn’t realized were introduced. So in short, automated tools are great for sanity checks, and make sure that a manual audit doesn’t miss the obvious.

And now, the bad

Most of the bad things that get mentioned about automated web accessibility testing are related to the subjective nature of accessibility. There are also numerous ways to make a site more useable for people with disabilities that an automated tool will never alert you to. Automated tools can offer false positive and false negative results, and they have a lot of trouble with dynamic features, which have become more and more prevalent on the web and are not going away any time soon.

Now for some statistics

While working with WordPress and the Genesis framework, I’ve found that automated tools give me about twenty percent accurate results when it comes to web accessibility best practices. Thirty percent of what the tool finds I can use as guideance for further manual review. That leaves fifty percent that is straight up manual review. That fifty percent includes everything related to forms, and, since automated tools can only test HTML and CSS, also includes JavaScript, AJAX, and any other client-side scripting.

Does this mean you shouldn’t use automated tools?

I don’t mean to suggest by any of the above that you should never use an automated tool. But the thing to keep in mind is that an automated tool is just that, a tool. It can help with productivity, and helps with the accuracy of the final report. They also help with getting started with the basics of accessibility and can help developers and designers begin learning about it. But when using automated tools, in order to get the most milage, you’ll need to be well-trained in accessibility, understand how to read their results, and remember that what that tools tells you is not the final say in determining whether your site is accessible.

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.

Carrie Dils wrote a post on why mixing email with hosting is a terrible idea. She’s getting some glory from it, and frankly, I’m a ittle jealous. 😛 I also know that the biggest follow-up question is going to be something like “yeah, but how do I separate them?” So in this post, I’m going to show you how by giving you a step-by-step tutorial on how to migrate your email to a provider like Google Apps.

I don’t want to click. So tell me why this is a bad idea.

The TL. DR. version is this.

  • If one goes down, they’re both going down
  • Your host may not prioritize email delivery
  • Things may not always be rosy between you and your developer
  • Changing hosts is easier when email’s not involved
  • Email might not be your host’s biggest strength

OK, that’s not exactly the TL. DR. I added an extra in there. But that extra is something important to consider.

So how do I move my email?

I’m going to assume you clicked the link and read the post, have decided that it’s a good idea to separate mail and hosting, and have picked one of the choices Carrie recommended. Now, here’s how you move your email.

I’m using Google Apps for this example, but the process is typically the same no matter which service provider you choose.

It boils down to MX entries and priorities

Wwhen migrating your email, you’ll be provided with a series of MX records that you need to add to your domain via your DNS settings. Here’s Google’s list. There are two parts to these entries. The server address and the priority.

MX stands for “mail exchange,” and these records tell the Domain Name System (DNS) which mail server or servers are responsible for accepting mail on behalf of a recipient’s domain. If multiple servers are available, they are prioritized according to preference as part of the record.

When you send an email, a piece of software called a mail transfer agent queries DNS to find out where that email is supposed to go. the mail exchange records provide that information. They also provide, in the form of a preference, which server should be tried first and, if there are multiple servers, the order in which they should be tried. The lowest number is the highest priority.

To configure your MX records, you’ll first need to get your mail provider’s records and priorities. Then, you’ll need to log into your DNS provider’s website (in a lot of cases, it’s the same as your domain registrar, such as Godaddy or Namecheap, for example), and add the records and their priorities. In some cases, you’ll need to add a “time-to-live” value which is typically one hour or 3600 seconds. Then, save the new entries and wait for propagation. This can take up to 72 hours at maximum but can also happen sooner.

Doing this ensures that your email stays tied to your domain while giving you the advantages of separating your email from your hosting, thus avoiding all the bad things I listed above. So if you haven’t done so already, start that move. It’ll save you a lot of headaches in the long run.

Maybe one of your goals for 2015 is to start blogging. After all, you have stories to tell, or you want to help people, or you want to grow your business, or you want to do all three.

Or maybe someone’s convinced you that blogging more in 2015 is a good idea, and you’d like to try it out.

So where do you start? Once you’ve decided you want to blog, how do you make that more than just a great idea that never sees the light of day? Here are ten free resources you can use to make your blogging idea into a reality.

1. Don’t just write when the muse strikes

Whether you publish every day or not, spend some time writing every day. Start with five minutes. don’t worry about correcting anything. Just write. Or dictate. Don’t worry about whether or not you’re sitting at your computer. I like to take my phone out with me in the morning while I drink my coffee and either write down ideas or hit record and just start talking. I’ll also do this while I’m cooking or doing laundry. Then, I take those files and sift through them later to see if I have ideas that I can turn into posts. After you’ve become comfortable with writing for five minutes a day, then bump that up to ten. Then fifteen. Keep bumping up that time until you get to the longest amount that will work with your schedule and won’t become something that you put off because other things get in the way. make sure it’s a set time every day, but also be flexible so that you can move that time around or split it up so that writing doesn’t become a time vampire or that you’re skipping it because of prior engagements.

2. Think about the stories you have to tell

Everyone has a story to tell, and everyone has some knowledge or experience that can help someone else solve a problem. Maybe someone’s asking on Twitter how to do something with a particular piece of software. Instead of answering them on Twitter, write a post on how to perform that task. Or give a short answer on Twitter, and then provide a link to a post you’ve written. As long as it meets the need, they’ll be thankful and share what you’ve given them with someone else.

3. Read posts by other people. Then, write your own from your perspective.

Sometimes, you’re looking at social media and you come across one of those great posts. But maybe you think they’ve left something out, or you can cover the same thing from a different angle. Write that post on your own blog, and link back to the original to provide context. At first, this may seem difficult, because you want to make sure you don’t just regurgitate what the other person has written. Admittedly, it’s hard for me sometimes too. So I’ll often read a post more than once so that I can tease out my own angle.

4. Turn Questions into Answers with Posts

I touched on this above when I mentioned Twitter interactions, but it deserves a section of its own. In the blind community, discussion mailing lists are still popular, and they generate a lot of questions. If you’re on one of those lists, and you run a blog, consider answering some of those questions in posts and then sending the link to the list as part of the discussion. It gives people another place to look for the answer, share and bookmark, along with the list archives which can be overwhelming depending on how long the list has been around. If you’re not part of a mailing list, and you see a lot of questions being asked in comments, (several Genesis tutorial sites get a lot of that), consider answering the question on your own blog and then pointing to it in the comments of the post where the question is asked. Make sure not to be spammy with either of these methods. When you link to something you wrote on a list or in someone else’s combox, make sure it’s relevant to the discussion going on.

5. Now let’s talk about the actual schedule

Eventually, you should come up with a fully fleshed-out editorial calendar. But for now, focus on how often you’d like to write and that will be consistent. That might be every day, every week, or every month. The point isn’t how often, but how consistently you publish. Admittedly, if you space out your publishing more, it’s easier to write long-form content, and you can make good use of wordPress’s scheduling feature. But you can also make use of that feature if you want to blog every day. Once you’ve started working on the daily writing I mentioned above, start thinking about how that writing can be turned into posts. Then, start scheduling. You can also write those perspective posts and schedule them so they don’t get published the same day as the original, thus not intruding on the other post’s limelight. Same with the question and answer posts. the point is, while you’re writing, spread the ideas out. You may have three great ideas in one day. Instead of publishing those three ideas on the same day, schedule them.

6. Join a Blogging Challenge

Sometimes blogging can feel like a lonely task. But there’s a strategy you can use to gain more exposure for your content, along with support from other bloggers. You can get both by joining a blogging challenge. There are challenges running at just about any time of the year. National Blog Posting Month runs, well, every month, and anyone is welcome to sign up, post, read and share. It’s a great way to make connections. There are prompts provided, but you don’t have to stick with those. There’s also the Daily Post, which shares writing prompts and runs free writing and blogging courses and has a community to go with it that you can join and participate in. Most challenges have a presence on social media as well that you can use by hashtagging your posts or sharing on Facebook as part of groups set up for the particular challenge.

7. Join a Blog Carnival

Blog carnivals are round-up posts focused on a particular topic. Bloggers submit posts on the topic and then the blog that runs the carnival links to the posts submitted as part of the round-up post. Every carnival runs on a different schedule, but they can also be a great way to gain exposure and traffic, plus make connections. They’re also great if you don’t want to join a challenge but you do want to participate in something similar or support other people doing the same thing you are. They’re also free and focus on one particular prompt or topic at a time. Sometimes the topic/prompt never changes, but other times the carnival runner may pick subtopics for each episode of their carnival while focusing on the wider theme. You can find a list of blog carnivals at the Daily Post. They have a page devoted to blogging events and you don’t need to blog at wordpress.com to participate.

8. Don’t be afraid to share your opinion

Everybody has an opinion on something. If handled with care, opinion posts can be an excellent method to further your blogging goal. You won’t always get a positive response, but that’s fine too. Responses and whether or not you agree with them can be posts in themselves. So can reflections and revisions of oppinions. You can also write posts to persuade others to share your opinion. As long as you do this sparingly, it can fit in nicely with everything else you’re writing.

9. don’t just write

Since I’ve focused a lot on writing, you could be forgiven for thinking this is the best or only way to blog. But sharing photos, video or audio content are also great strategies. If you use a service like AudioBoom to chronicle your thoughts or participate in discussions, you’re already blogging. The next step is to share your audio or video posts to your own site. They can either stand on their own or compliment what you write. And sometimes they can be easier than writing.

10. Just because it’s not long doesn’t mean you shouldn’t publish it.

Long-form content takes, well, a long time to write, edit, and polish. If that kind of content is your thing, and you’re focusing on a less-frequent blogging schedule, then go ahead and stick with that kind of writing. But you may be able to express an idea in one hundred words. if so, then post that too. Post it along with your long-form writing. But don’t avoid it just because it’s not a two thousand word essay.

Conclusion

Blogging is an excellent idea for all the reasons I’ve mentioned above and more. If it’s one of your goals for 2015, use it freely, or use another guide. Either way, I wish you the best of successes and I’m looking forward to what you have to share.