<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Joe Dolson Accessible Web Design</title>
	
	<link>http://www.joedolson.com/articles</link>
	<description>Tips and Commentary on Web Accessibility, Usability, and Search Marketing best practices.</description>
	<lastBuildDate>Thu, 02 Feb 2012 18:13:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/AccessibleDesign" /><feedburner:info uri="accessibledesign" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>44.989065</geo:lat><geo:long>-93.106668</geo:long><feedburner:emailServiceId>AccessibleDesign</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Looking for developers for My Calendar customizations</title>
		<link>http://feedproxy.google.com/~r/AccessibleDesign/~3/qNaURsz-YYw/</link>
		<comments>http://www.joedolson.com/articles/2012/01/looking-for-developers-for-my-calendar-customizations/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 18:29:50 +0000</pubDate>
		<dc:creator>Joe Dolson</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.joedolson.com/articles/?p=1313</guid>
		<description>I get a lot of feature requests and customization requests for my event management WordPress plug-in. These requests range from minor tweaks, which I can add as features in less than 10 minutes to major re-skinning and behavioral changes. When I get a request which can potentially be worked into the calendar software as a [...]&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.joedolson.com/articles/2012/01/looking-for-developers-for-my-calendar-customizations/"&gt;Looking for developers for My Calendar customizations&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;small&gt;Copyright 2004&amp;thinsp;&amp;ndash;&amp;thinsp;2011 Joseph C Dolson, Accessible Web Design&lt;/small&gt;&lt;/p&gt;</description>
			<content:encoded><![CDATA[<p>I get a lot of feature requests and customization requests for my <a href="http://wordpress.org/extend/plugins/my-calendar/">event management WordPress plug-in</a>. These requests range from minor tweaks, which I can add as features in less than 10 minutes to major re-skinning and behavioral changes. When I get a request which can potentially be worked into the calendar software as a permanent part of the plug-in, I&#8217;m usually happy to take on that work&thinsp;&#8212;&thinsp;but I only have so much time, and I&#8217;d rather put that time in on making a better plug-in rather than doing new styling and custom&nbsp;behaviors. </p>
<p>So, I&#8217;m in need of a few people who are skilled developers with strong <abbr title="Cascading Style Sheets">CSS</abbr>, JavaScript and/or WordPress/PHP experience. I&#8217;ll maintain this list as people I trust to do high-quality customization work with My Calendar (or with other work,&nbsp;potentially). </p>
<p>Mostly, this will be <abbr title="Cascading Style Sheets">CSS</abbr>/JavaScript work. There may be occasional needs to <abbr title="Hypertext PreProcessing">PHP</abbr> customizations, but that will probably be more&nbsp;rare. </p>
<p>If you&#8217;re interested in being on this list, please <a href="/contact.php">contact me</a>. Provide a couple of work samples where you&#8217;ve done <abbr title="Cascading Style Sheets">CSS</abbr>/JavaScript work. If possible, an actual instance of customizing My Calendar would be very&nbsp;beneficial. </p>
<p>This isn&#8217;t likely to be a flood of work&thinsp;&#8211;&thinsp;but what I&#8217;m getting is more than what I can&nbsp;do. </p>
<p>Thank you!
<p><strong><a href="http://www.joedolson.com/articles/2012/01/looking-for-developers-for-my-calendar-customizations/">Looking for developers for My Calendar customizations</a></strong><br /><small>Copyright 2004&thinsp;&ndash;&thinsp;2011 Joseph C Dolson, Accessible Web&nbsp;Design</small></p>
<p><a href="http://feedads.g.doubleclick.net/~a/FLij9THVhJ-A2n76xC0Af8ixeA8/0/da"><img src="http://feedads.g.doubleclick.net/~a/FLij9THVhJ-A2n76xC0Af8ixeA8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/FLij9THVhJ-A2n76xC0Af8ixeA8/1/da"><img src="http://feedads.g.doubleclick.net/~a/FLij9THVhJ-A2n76xC0Af8ixeA8/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=qNaURsz-YYw:mP-LDDo7Xu4:cTv1dNCI_Tc"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=cTv1dNCI_Tc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=qNaURsz-YYw:mP-LDDo7Xu4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=qNaURsz-YYw:mP-LDDo7Xu4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=qNaURsz-YYw:mP-LDDo7Xu4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=qNaURsz-YYw:mP-LDDo7Xu4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=qNaURsz-YYw:mP-LDDo7Xu4:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AccessibleDesign/~4/qNaURsz-YYw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joedolson.com/articles/2012/01/looking-for-developers-for-my-calendar-customizations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.joedolson.com/articles/2012/01/looking-for-developers-for-my-calendar-customizations/</feedburner:origLink></item>
		<item>
		<title>How to structure an accessibility review</title>
		<link>http://feedproxy.google.com/~r/AccessibleDesign/~3/zrBxYEC1g5w/</link>
		<comments>http://www.joedolson.com/articles/2012/01/how-to-structure-an-accessibility-review/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 14:35:56 +0000</pubDate>
		<dc:creator>Joe Dolson</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[a11y]]></category>
		<category><![CDATA[audit]]></category>
		<category><![CDATA[consulting]]></category>

		<guid isPermaLink="false">http://www.joedolson.com/articles/?p=1264</guid>
		<description>Somebody recently contacted me with a fundamental question: they were undertaking an accessibility audit, and didn&amp;#8217;t know how to structure the process. They knew web accessibility well enough&amp;#8201;&amp;#8212;&amp;#8201;but from the perspective of setting out to perform an audit, they weren&amp;#8217;t sure where to&amp;#160;go. As a result, I&amp;#8217;m putting together this article to talk a little [...]&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.joedolson.com/articles/2012/01/how-to-structure-an-accessibility-review/"&gt;How to structure an accessibility review&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;small&gt;Copyright 2004&amp;thinsp;&amp;ndash;&amp;thinsp;2011 Joseph C Dolson, Accessible Web Design&lt;/small&gt;&lt;/p&gt;</description>
			<content:encoded><![CDATA[<p>Somebody recently contacted me with a fundamental question: they were undertaking an accessibility audit, and didn&#8217;t know how to structure the process. They knew web accessibility well enough&thinsp;&#8212;&thinsp;but from the perspective of setting out to perform an audit, they weren&#8217;t sure where to&nbsp;go. </p>
<p>As a result, I&#8217;m putting together this article to talk a little about how to structure an accessibility review, in all the practical ways&thinsp;&#8212;&thinsp;how you address coming up with a quote or estimate, ways to structure your research and site inspection process, and dealing with long-term&nbsp;follow-up. </p>
<ul>
<li><a href="#scope">Specify the scope of the&nbsp;audit</a></li>
<li><a href="#stop">Identify&nbsp;&#8220;show-stoppers&#8221;</a></li>
<li><a href="#quote">Estimate or quote the&nbsp;project</a></li>
<li><a href="#plan">Plan your audit&nbsp;process</a></li>
<li><a href="#follow-up">Schedule a&nbsp;follow-up</a></li>
</ul>
<h3 id="scope">Figuring out&nbsp;scope</h3>
<p>Although the ideal is to perform an accessibility review which identifies every problem on a site and specifies solutions, that&#8217;s not always practical. In fact, it&#8217;s sometimes utterly pointless&thinsp;&#8212;&thinsp;it depends on the ultimate goal of the review. The review process for a site which is considering a redesign  is radically different than for a set of templates intended for a web site still in&nbsp;development.</p>
<p>Setting goals at the outset is key. Are we looking to identify key areas for improvement? What are the resources available for fixing problems? If an aspect of the site is rife with major problems, is it best to identify every problem within that area, or simply describe the general issues and recommend finding a new&nbsp;solution? </p>
<p>An initial review does not need to identify every problem. One route I&#8217;ve frequently used is to specify a multi-stage review process: an initial review, in which I note major issues and provide guidance on fundamental principles of web accessibility, and a follow-up in which I re-check the site and, if desired, provide further guidance and detail for continuing&nbsp;development. </p>
<h3 id="stop">Identifying&nbsp;&#8220;show-stoppers&#8221;</h3>
<p>What&#8217;s a &#8220;show-stopper&#8221;? Essentially, that&#8217;s a function of the site which is so completely inaccessible that there is no value to identifying the problems&thinsp;&#8212;&thinsp;instead, you should just describe what would constitute a good solution and recommend&nbsp;replacement. </p>
<p>It&#8217;s not uncommon for this to arise at the very earliest stages of the review, when discussing scope. If a site is using a <abbr title="Content Management System">CMS</abbr> or a framework which is fundamentally rendering it inaccessible, you may want to begin by recommending redesign of the site. However, due to the common usage of external resources to provide video, interactive widgets, or social media (to provide a few examples), it may be that there are elements in use which won&#8217;t stand out right from the&nbsp;beginning. </p>
<p>Rather than performing a detailed exhumation of a fundamentally broken aspect of the site, it may be in the best interest of all parties to simply flag it for replacement and discuss that possibility with the&nbsp;client. </p>
<p>Why is this section part of the business structure? Because spending hours reviewing replaceable services is a poor use of your time and your client&#8217;s money. You should be looking for ways to improve your client&#8217;s site without costing them an arm and a&nbsp;leg! </p>
<h3 id="quote">Coming up with a fair&nbsp;estimate</h3>
<p>It&#8217;s difficult to provide a good estimate on what a large-scale accessibility review is going to require, in terms of hours or dollars. The larger the project, the harder it is to quote. Keep in mind, however, that what you&#8217;re quoting is not generally going to be based on the number of documents on the site&thinsp;&#8212;&thinsp;rather, it will be based on the number of unique templates, forms, and navigation structures found on the&nbsp;site. </p>
<p>It is entirely possible that the site you&#8217;re reviewing will have 12,000 pages, most with images containing improper alt attributes. However, as an accessibility consultant your time is better spent identifying one or two representative examples and explaining how to properly use the alt attribute than it is painstakingly identifying every single inappropriate attribute throughout the&nbsp;site. </p>
<p>For this reason, you should be looking at the site as a process, not as a collection of pages. The ideal process of the site can be described, greatly simplified, in four&nbsp;steps:</p>
<ol>
<li>The visitor arrives at the web site, which can happen at any place in the&nbsp;site.</li>
<li>The visitor will attempt to move to another point on the site, which may be another part of the same&nbsp;document</li>
<li>The visitor will begin a goal, which may be a purchase, a form submission, or the acquisition of&nbsp;information</li>
<li>The visitor will successfully complete that goal, and be notified of the&nbsp;results.</li>
</ol>
<p>This general outline describes any visitor to a web site&thinsp;&#8212;&thinsp;as a consultant, your job is to identify each barrier they may encounter while completing the process. You don&#8217;t need to look at every single page of the site in order to see the shape of the problems&thinsp;&#8212;&thinsp;if you can&#8217;t navigate using a keyboard on one page, you probably won&#8217;t be able to on any other page,&nbsp;either!</p>
<p>With this knowledge, it becomes readily apparent that a web site which has 12,000 pages but uses only one navigation structure, one template, and has only a single form will be much more quickly reviewed than a site with 120 pages which uses 5 templates, provides ecommerce, and has different navigation structures depending on what area of the site is being&nbsp;used.</p>
<p>A 100% complete audit must allow for the possibility that each page may exhibit different problems. After all, if you haven&#8217;t looked at a page, you have no way of knowing how different it may be from what you&#8217;ve already seen. However, in all probability, pages of a site will be at a fairly consistent level of accessibility. The pragmatic approach&thinsp;&#8212;&thinsp;mindful to your client&#8217;s budget needs&thinsp;&#8212;&thinsp;is going to be a selective audit, not a complete&nbsp;audit.</p>
<h3 id="plan">Plan your Accessibility Audit&nbsp;Process</h3>
<p>Now, once you&#8217;ve done this a few times, you&#8217;ll probably have the basic approach down cold. Every web site is different, however, so that isn&#8217;t going to completely free you from doing some planning. You still need to decide what your approach will be. Two example starting approaches could be <em>process-based testing</em> or <em>issue-based&nbsp;testing</em>. </p>
<p>If you&#8217;re going with a process-based testing procedure, you&#8217;ll start by selecting a process&thinsp;&#8211;&thinsp;any process. The path to make a purchase; getting to the Privacy link in the footer; sending a contact message. Follow that process all the way through in painstaking detail, isolating the accessibility issues encountered along the&nbsp;way.</p>
<p>With issues-based testing, you&#8217;ll instead pick an issue&thinsp;&#8211;&thinsp;such as keyboard accessibility. Work your way through the entire site, noting keyboard-relevant issues as you go. Then move on to the next issue and start your hunt&nbsp;over. </p>
<p>It may seem like I&#8217;m describing a very pedantic way to thinking about conducting an audit&thinsp;&#8212;&thinsp;you know that you will ultimately do both of these in their entirety. However, the reason for having a <em>plan</em> is simple: you need to avoid the trap of the scatter-plot approach. If you don&#8217;t have a system, you&#8217;re far more likely to end up missing problems&thinsp;&#8211;&thinsp;either because you failed to consider keyboard accessibility over here; or because you forgot to check the contact form when you were reviewing contrast. Having a plan and a process will help you avoid these&nbsp;gaffs.</p>
<h3 id="follow-up">Schedule a&nbsp;Follow-up</h3>
<p>It would be nice to believe that when you&#8217;ve written and sent your painstakingly thorough accessibility audit to the client you are done with the project. Sadly, we don&#8217;t always live in that pleasant fantasy world. (Although, to be honest, in my fantasy world an accessibility audit would consist of nothing more than a smiley sticker and the phrase &#8220;Good&nbsp;Job!&#8221;)</p>
<p>Unfortunately, no matter how detailed you made your report&thinsp;&#8212;&thinsp;the <strong>report</strong> doesn&#8217;t fix the web site. The client&#8217;s developers need to do that. Or, as is sometimes the case, the client&#8217;s developers will fail to absorb the principles of the document&#8230;and while fixing the problems you described, will create new accessibility issues. Or, they&#8217;ll implement a fix which shunts the problem somewhere else, rather than resolving it&nbsp;entirely. </p>
<p>This isn&#8217;t a guarantee&thinsp;&#8211;&thinsp;there are developers working out there who don&#8217;t know accessibility, but immediately catch on to the concept once the issues are presented to them. But there are also developers&nbsp;who&#8230;don&#8217;t.</p>
<p>Planning at least one follow-up review is important. You&#8217;ll also need to make yourself available to answer questions from the development team while they work through your&nbsp;suggestions. </p>
<p>The follow-up review should be a quicker task than the initial review. You can spot-check to see how the developers worked with your suggestions. If you like what you see, you can probably be fairly satisfied. If you see problems, you may need to keep going. If you see a <em>lot</em> of problems, you may need to give the client a call before&nbsp;continuing. </p>
<h3>In&nbsp;Summary</h3>
<p>Performing an accessibility audit requires many skills: an eye for detail, a strong sense for when an accessibility issue requires fixing, and when it requires replacement, and the ability to describe accessibility concepts in language developers can respond to. Join those skills with sound business planning and a personal investment in your clients&#8217; success, and you&#8217;re ready to&nbsp;go!</p>
<p><strong><a href="http://www.joedolson.com/articles/2012/01/how-to-structure-an-accessibility-review/">How to structure an accessibility review</a></strong><br /><small>Copyright 2004&thinsp;&ndash;&thinsp;2011 Joseph C Dolson, Accessible Web&nbsp;Design</small></p>
<p><a href="http://feedads.g.doubleclick.net/~a/Td3pgcaLqqC_s5pBiXwLdx67A6g/0/da"><img src="http://feedads.g.doubleclick.net/~a/Td3pgcaLqqC_s5pBiXwLdx67A6g/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Td3pgcaLqqC_s5pBiXwLdx67A6g/1/da"><img src="http://feedads.g.doubleclick.net/~a/Td3pgcaLqqC_s5pBiXwLdx67A6g/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=zrBxYEC1g5w:Teee_v49NI8:cTv1dNCI_Tc"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=cTv1dNCI_Tc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=zrBxYEC1g5w:Teee_v49NI8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=zrBxYEC1g5w:Teee_v49NI8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=zrBxYEC1g5w:Teee_v49NI8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=zrBxYEC1g5w:Teee_v49NI8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=zrBxYEC1g5w:Teee_v49NI8:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AccessibleDesign/~4/zrBxYEC1g5w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joedolson.com/articles/2012/01/how-to-structure-an-accessibility-review/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://www.joedolson.com/articles/2012/01/how-to-structure-an-accessibility-review/</feedburner:origLink></item>
		<item>
		<title>Accessible WordPress Plug-ins: what does it mean?</title>
		<link>http://feedproxy.google.com/~r/AccessibleDesign/~3/QG60kuIL0_Y/</link>
		<comments>http://www.joedolson.com/articles/2011/11/accessible-wordpress-plug-ins-what-does-it-mean/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 15:27:20 +0000</pubDate>
		<dc:creator>Joe Dolson</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.joedolson.com/articles/?p=1256</guid>
		<description>I&amp;#8217;ve been writing WordPress plug-ins for a while now&amp;#8201;&amp;#8212;&amp;#8201;I launched my first plug-in a little more than 3 years ago. I&amp;#8217;ve been involved in web site accessibility for about seven years. Naturally, when I started writing WordPress plug-ins, making them accessible was part of my goal. But accessible software extensions have two aspects: the interface, [...]&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.joedolson.com/articles/2011/11/accessible-wordpress-plug-ins-what-does-it-mean/"&gt;Accessible WordPress Plug-ins: what does it mean?&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;small&gt;Copyright 2004&amp;thinsp;&amp;ndash;&amp;thinsp;2011 Joseph C Dolson, Accessible Web Design&lt;/small&gt;&lt;/p&gt;</description>
			<content:encoded><![CDATA[<p>I&#8217;ve been writing WordPress plug-ins for a while now&thinsp;&#8212;&thinsp;I launched my first plug-in a little more than 3 years ago. I&#8217;ve been involved in web site accessibility for about seven years. Naturally, when I started writing WordPress plug-ins, making them accessible was part of my goal. But accessible software extensions have two aspects: the interface, and the output: and I don&#8217;t have complete control over&nbsp;either. </p>
<p>Is it possible to make a plug-in with accessible output, guaranteed, every time? Is that compatible with a desire to provide flexible software which developers can use for a wide variety of possible needs from a design and functionality&nbsp;perspective?</p>
<p>What I&#8217;ve found is that I can unquestionably make a plug-in which is capable of creating accessible content. However, I&#8217;ve also discovered that in order to really make a plug-in flexible, it can&#8217;t have too rigid of an output: it needs to allow the user to customize the structure and content at a pretty significant&nbsp;level. </p>
<p>As a web site developer, this is certainly something I always want: whenever I find myself using a plug-in which doesn&#8217;t have built-in templating for the output, I can be pretty certain that I&#8217;ll be making edits to the core plug-in files. The <abbr title="HyperText Markup Language">HTML</abbr> produced is rarely what I really want. My conclusion from this is that if I want to create plug-ins which will be used by sophisticated developers, then they need to be very, very&nbsp;flexible. </p>
<p>The downside to this, of course, is clear: if you can change the output, you can break it. As a result, every one of my plug-ins which creates web site output has equal potential to be accessible or inaccessible: and I can&#8217;t guarantee the results. Additionally, the core content of the site can only be as accessible as the theme surrounding it&thinsp;&#8212;&thinsp;so even if the plug-in is configured with my defaults, that doesn&#8217;t guarantee any particular level of&nbsp;accessibility. </p>
<p>I&#8217;ve had to accept that. But it does mean that I&#8217;m constantly seeing implementations of my plug-ins which, while well-done in general principle, just don&#8217;t meet my ultimate wishes for&nbsp;accessibility.  </p>
<p>But I wouldn&#8217;t turn back. I&#8217;d like very much to be able to enforce accessibility; but realistically, I can&#8217;t do it. There are too many&nbsp;factors.</p>
<p>My <a href="http://www.joedolson.com/articles/my-calendar/users-guide/">User&#8217;s Guide to My Calendar</a> includes a short section on the principles of Accessibility; hopefully, a few people will gain from that fact. The fact is that accessibility requires education: you can&#8217;t force accessibility on somebody by providing accessible software unless you also take total control over the look, feel, and function of that software, and that&#8217;s not the way the web works. With education, you can help move people towards making their own decision to support accessibility in how they customize their software; so that&#8217;s what I&#8217;m hoping&nbsp;for. </p>
<p>So, what does it mean to write an accessible plug-in for WordPress? I can&#8217;t control the administrative interface entirely; because the fundamental interface is the WordPress core, and I can&#8217;t just evade that. I can&#8217;t control the output, in either structure or design; and even if I could control what exists within the parameters of the plug-in&#8217;s output, I can&#8217;t control what surrounds&nbsp;it. </p>
<p>So an accessible plug-in is just a plug-in which is able to used accessibly; a plug-in which doesn&#8217;t actually implement a specific lack of accessibility. Somehow, that&#8217;s a little depressing, but you take what you can&nbsp;get. </p>
<p>The overall lesson to take from this is that no plug-in is actually going to give you an accessible web site. But hopefully, it&#8217;ll give the possibility of an accessible web site.
<p><strong><a href="http://www.joedolson.com/articles/2011/11/accessible-wordpress-plug-ins-what-does-it-mean/">Accessible WordPress Plug-ins: what does it mean?</a></strong><br /><small>Copyright 2004&thinsp;&ndash;&thinsp;2011 Joseph C Dolson, Accessible Web&nbsp;Design</small></p>
<p><a href="http://feedads.g.doubleclick.net/~a/uNbvrP6UhinLbv1W2SbbPfs2x2A/0/da"><img src="http://feedads.g.doubleclick.net/~a/uNbvrP6UhinLbv1W2SbbPfs2x2A/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/uNbvrP6UhinLbv1W2SbbPfs2x2A/1/da"><img src="http://feedads.g.doubleclick.net/~a/uNbvrP6UhinLbv1W2SbbPfs2x2A/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=QG60kuIL0_Y:koEV0S1lJSQ:cTv1dNCI_Tc"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=cTv1dNCI_Tc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=QG60kuIL0_Y:koEV0S1lJSQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=QG60kuIL0_Y:koEV0S1lJSQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=QG60kuIL0_Y:koEV0S1lJSQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=QG60kuIL0_Y:koEV0S1lJSQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=QG60kuIL0_Y:koEV0S1lJSQ:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AccessibleDesign/~4/QG60kuIL0_Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joedolson.com/articles/2011/11/accessible-wordpress-plug-ins-what-does-it-mean/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.joedolson.com/articles/2011/11/accessible-wordpress-plug-ins-what-does-it-mean/</feedburner:origLink></item>
		<item>
		<title>Two new content development plug-ins for WordPress</title>
		<link>http://feedproxy.google.com/~r/AccessibleDesign/~3/pCOV-Ba8rh8/</link>
		<comments>http://www.joedolson.com/articles/2011/11/content-development-plug-ins/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 17:38:22 +0000</pubDate>
		<dc:creator>Joe Dolson</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.joedolson.com/articles/?p=1248</guid>
		<description>At the end of October, I took a very needed vacation. Naturally, I couldn&amp;#8217;t just go on vacation, so while I was taking a break I developed two new WordPress plug-ins: My Content Management and Content&amp;#160;Progress. These are plug-ins designed primarily for developers, really&amp;#8201;&amp;#8212;&amp;#8201;although a novice user can probably get something out of them, even [...]&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.joedolson.com/articles/2011/11/content-development-plug-ins/"&gt;Two new content development plug-ins for WordPress&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;small&gt;Copyright 2004&amp;thinsp;&amp;ndash;&amp;thinsp;2011 Joseph C Dolson, Accessible Web Design&lt;/small&gt;&lt;/p&gt;</description>
			<content:encoded><![CDATA[<p>At the end of October, I took a very needed vacation. Naturally, I couldn&#8217;t just go on vacation, so while I was taking a break I developed two new WordPress plug-ins: <a href="http://www.joedolson.com/articles/my-content-management/">My Content Management</a> and <a href="http://www.joedolson.com/articles/content-progress/">Content&nbsp;Progress</a>. </p>
<p>These are plug-ins designed primarily for developers, really&thinsp;&#8212;&thinsp;although a novice user can probably get something out of them, even so. They aren&#8217;t terribly complicated; they&#8217;re just designed as plug-ins which are used for developing new web&nbsp;sites. </p>
<h3>About My Content&nbsp;Management</h3>
<p>The first of the two, <a href="http://www.joedolson.com/articles/my-content-management/">My Content Management</a>, is a tool which creates a suite of custom post types intended to fulfill a variety of special content needs which are common to many web sites. Obviously, these can be done using normal pages, as well&thinsp;&#8212;&thinsp;or dedicated plug-ins for the specific content, but I like to have the option to use a standard, common interface. Using this plug-in, you can have an <abbr title="Frequently Asked Questions">FAQ</abbr>, Testimonials, Staff Members, an artist&#8217;s Portfolio, etc.&thinsp;&#8212;&thinsp;all using the same&nbsp;interface. </p>
<p>If you normally develop web sites and then train your client&#8217;s to maintain the site themselves, it&#8217;s a tremendous help to have a standardized interface for all the content they need to&nbsp;add! </p>
<p>The plug-in features highly customizable templates for three different views of each content type; shortcodes to display the content; widgets for lists of content; special custom field support for the content; and custom taxonomies for each content&nbsp;type. </p>
<h3>About Content&nbsp;Progress</h3>
<p>This is really a simple plug-in, but particularly useful during the early content development stages for any web site. <a href="http://www.joedolson.com/articles/content-progress/">Content Progress</a> adds a flag to the posts list view which allows you to easily pick out which pages have not been completed. For large sites, this can be particularly handy when you need to keep track of what has and hasn&#8217;t been taken care&nbsp;of. </p>
<p>There are two automatic labels: marking pages which have no content or which have very little content, since these are common indicators that content still needs to be completed. Since these are obviously not a complete picture of the site, there are also two manual flags, to specifically mark pages as completed or&nbsp;incomplete.</p>
<p>Hopefully, developers and content creators will find these plug-ins&nbsp;useful!</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/my-content-management/">Download &#8220;My Content&nbsp;Management&#8221;</a></li>
<li><a href="http://wordpress.org/extend/plugins/content-progress/">Download &#8220;Content&nbsp;Progress&#8221;</a></li>
</ul>
<p><strong><a href="http://www.joedolson.com/articles/2011/11/content-development-plug-ins/">Two new content development plug-ins for WordPress</a></strong><br /><small>Copyright 2004&thinsp;&ndash;&thinsp;2011 Joseph C Dolson, Accessible Web&nbsp;Design</small></p>
<p><a href="http://feedads.g.doubleclick.net/~a/yN-kq5KCoG4Ztz1nSsFbdHaufkw/0/da"><img src="http://feedads.g.doubleclick.net/~a/yN-kq5KCoG4Ztz1nSsFbdHaufkw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/yN-kq5KCoG4Ztz1nSsFbdHaufkw/1/da"><img src="http://feedads.g.doubleclick.net/~a/yN-kq5KCoG4Ztz1nSsFbdHaufkw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=pCOV-Ba8rh8:7R_rXhuRUkQ:cTv1dNCI_Tc"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=cTv1dNCI_Tc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=pCOV-Ba8rh8:7R_rXhuRUkQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=pCOV-Ba8rh8:7R_rXhuRUkQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=pCOV-Ba8rh8:7R_rXhuRUkQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=pCOV-Ba8rh8:7R_rXhuRUkQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=pCOV-Ba8rh8:7R_rXhuRUkQ:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AccessibleDesign/~4/pCOV-Ba8rh8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joedolson.com/articles/2011/11/content-development-plug-ins/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.joedolson.com/articles/2011/11/content-development-plug-ins/</feedburner:origLink></item>
		<item>
		<title>My Calendar Version 1.9.0 is almost released</title>
		<link>http://feedproxy.google.com/~r/AccessibleDesign/~3/_XL2FWsuoxQ/</link>
		<comments>http://www.joedolson.com/articles/2011/08/my-calendar-version-1-9-0/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 00:22:36 +0000</pubDate>
		<dc:creator>Joe Dolson</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[my-calendar]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.joedolson.com/articles/?p=1147</guid>
		<description>My Calendar version 1.9.0 has been released! Download My Calendar Version&amp;#160;1.9.0 Note for upgraders: During the automatic upgrade process, My Calendar makes a copy of your stylesheet and re-installs it in place of the copy in the package. However, if you are uploading the plug-in manually, this process will not happen. You should either move [...]&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.joedolson.com/articles/2011/08/my-calendar-version-1-9-0/"&gt;My Calendar Version 1.9.0 is almost released&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;small&gt;Copyright 2004&amp;thinsp;&amp;ndash;&amp;thinsp;2011 Joseph C Dolson, Accessible Web Design&lt;/small&gt;&lt;/p&gt;</description>
			<content:encoded><![CDATA[<div class="notice"><strong>My Calendar version 1.9.0 has been released!</strong></div>
<div class="aside">
<p><a href="http://wordpress.org/extend/plugins/my-calendar/">Download My Calendar Version&nbsp;1.9.0</a></p>
<p><strong>Note for upgraders:</strong> During the automatic upgrade process, My Calendar makes a copy of your stylesheet and re-installs it in place of the copy in the package. However, if you are uploading the plug-in manually, this process will not happen. You should either move your current stylesheet into a custom styles folder or choose not to upload that stylesheet in order to retain your&nbsp;styles.</p>
<p><del datetime="2011-09-12T22:55:25+00:00">There has been a problem with My Calendar upgrading settings properly in this update&thinsp;&#8212;&thinsp;if you&#8217;re finding major problems after upgrading, please check your settings; you may need to reset a number of them. (This is the reason I haven&#8217;t released officially yet.)</del></p>
</div>
<p>In point of fact, My Calendar version 1.9 is ready to go. It&#8217;s packaged up, ready to be shipped out. (Well, promoted to the subversion repository.&nbsp;Whatever.) </p>
<p>However, I&#8217;m not ready to launch it yet&thinsp;&#8212;&thinsp;and this is just because I&#8217;ve been very short of time recently, and I don&#8217;t anticipate this changing soon. I don&#8217;t believe that there are any major bugs in the release&thinsp;&#8212;&thinsp;I&#8217;m sure there are small ones, despite the time I&#8217;ve spent on testing, but probably nothing earth-shattering. However, I have to be realistic&thinsp;&#8212;&thinsp;I don&#8217;t know this for sure. And because of that, I need to delay the full launch. This isn&#8217;t because I&#8217;m worried about the possibility of problems, particularly. Rather, it&#8217;s because on the off-hand chance that there are problems, I simply don&#8217;t have the time right now to be able to deal with them&nbsp;responsibly.</p>
<p>That&#8217;s a worrying position&thinsp;&#8211;&thinsp;if I launch, and there&#8217;s a major problem, I may not be able to fix it promptly. No matter how confident I am in the preparation of this version, that&#8217;s clearly grounds to delay. Unfortunately, I&#8217;ve been delaying for a long time; partially because I keep adding new features, and partially because I&#8217;ve been too busy for a&nbsp;while.</p>
<p>So I&#8217;m making this available here, now&thinsp;&#8212;&thinsp;<a href="http://www.joedolson.com/articles/downloads/my-calendar.zip">version 1.9.0 can be downloaded now</a>. I&#8217;m launching it here, instead of through the WordPress repository, because I know that many, many fewer people will get a hold of it here. This means fewer potential problems, and it&#8217;s much more likely I&#8217;ll be able to deal with any problems&nbsp;responsibly.</p>
<p>Since you don&#8217;t have easy access to the changelog, like you would at WordPress.org, here are the changes which apply to the new&nbsp;version:</p>
<h3>Additions:</h3>
<ul>
<li>template editing for list, grid, mini, and single event output.
<li>pop-up box is now draggable.
<li>date format option for grid mode, week view.
<li>templating for details link text.
<li>templating for event <abbr title="Uniform Resource Locator">URL</abbr> link text.
<li>location filtering from shortcode.
<li>image upload option for events
<li>day class to calendar date headings and cells
<li>individual instances of repeating events can be edited
<li>feature to add multiple occurrences of an event simultaneously. (concept from Dave Heitzman)
<li>feature to mass edit information for groups of events (concept from Dave Heitzman)
<li>stored <abbr title="Uniform Resource Locator">URL</abbr> for locations (contrib by John Colvin)
<li>recurring daily events on weekdays only (based on contrib by John Colvin)
<li>optional templating for all event output formats
<li>individual event occurrence iCal export
<li>numerous additional template tags
<li>Option to use custom location filter fields as data control
<li>Shortcode to generate list of saved locations
<li>Network administrators can control whether sub-site calendars contribute only to a central calendar, only to their own calendar, or whether site administrators can make that choice.
<li>Upgrade notice information in dashboard for future upgrades.
<li>implementation of WordPress text diff to compare your styles and scripts against my current released versions
<li>Option to skip a defined number of events in upcoming events lists.
</ul>
<h3>Bug&nbsp;fixes:</h3>
<ul>
<li>jump box was displaying in week/grid&nbsp;view.</li>
<li>some potentially repeatable IDs (code&nbsp;validation).</li>
<li><span class="quo">&#8216;</span>Administrators see all options&#8217; did not&nbsp;work.</li>
<li>Fixed timestamps on main calendar&nbsp;objects</li>
<li>Squashed e_notice&nbsp;errors.</li>
<li>category limiting did not work without permalinks due to GET variable conflict with WordPress&nbsp;core</li>
<li>Missing nonce in database upgrade&nbsp;routine</li>
<li>Mini calendar simultaneously displayed single event view when&nbsp;visited.</li>
<li>Link generation for details view did not work if calendar link&nbsp;parameterized</li>
<li>Issue with weekdays only calendar if day of week set to start on&nbsp;Sunday</li>
<li>Issue with retrieval of user-specific&nbsp;settings</li>
<li>Issue with accessing styles and javascript if My Calendar installed in non-standard&nbsp;directory.</li>
<li>Problem in Today&#8217;s Events widget when Holiday restrictions are&nbsp;enabled.</li>
</ul>
<h3>Changes:</h3>
<ul>
<li>replaced all default icons with 24-bit transparent&nbsp;PNGs</li>
<li>jumpbox output to automatically scope to the oldest dates in the&nbsp;database.</li>
<li>iCal output to output event for complete current&nbsp;month</li>
<li><abbr title="Really Simple Syndication">RSS</abbr> output to prioritize newly added&nbsp;events</li>
<li>holiday skipping/fifth week customization moved into event manager&nbsp;function</li>
<li>new &#8216;close&#8217; icon for pop-up box; added close icon and scripting to mini calendar&nbsp;pop-up</li>
<li>copy in several places; updated template&nbsp;tags.</li>
<li>location lists sorted by location label (contrib by John&nbsp;Colvin)</li>
<li>Eliminated calendar heading&nbsp;option</li>
<li>default style resets no longer stored in global variables, instead stored as&nbsp;files.</li>
<li>Map links now trigger the driving directions dialog in Google&nbsp;Maps</li>
<li>New default stylesheet,&nbsp;refresh.css</li>
</ul>
<p><strong><a href="http://www.joedolson.com/articles/2011/08/my-calendar-version-1-9-0/">My Calendar Version 1.9.0 is almost released</a></strong><br /><small>Copyright 2004&thinsp;&ndash;&thinsp;2011 Joseph C Dolson, Accessible Web&nbsp;Design</small></p>
<p><a href="http://feedads.g.doubleclick.net/~a/-R95XzKkh0XDHZmMA5jYOD3rtC0/0/da"><img src="http://feedads.g.doubleclick.net/~a/-R95XzKkh0XDHZmMA5jYOD3rtC0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/-R95XzKkh0XDHZmMA5jYOD3rtC0/1/da"><img src="http://feedads.g.doubleclick.net/~a/-R95XzKkh0XDHZmMA5jYOD3rtC0/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=_XL2FWsuoxQ:Hu5oL4V0HZ0:cTv1dNCI_Tc"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=cTv1dNCI_Tc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=_XL2FWsuoxQ:Hu5oL4V0HZ0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=_XL2FWsuoxQ:Hu5oL4V0HZ0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=_XL2FWsuoxQ:Hu5oL4V0HZ0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=_XL2FWsuoxQ:Hu5oL4V0HZ0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=_XL2FWsuoxQ:Hu5oL4V0HZ0:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AccessibleDesign/~4/_XL2FWsuoxQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joedolson.com/articles/2011/08/my-calendar-version-1-9-0/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		<feedburner:origLink>http://www.joedolson.com/articles/2011/08/my-calendar-version-1-9-0/</feedburner:origLink></item>
		<item>
		<title>Book Review: WordPress 3 Plugin Development Essentials</title>
		<link>http://feedproxy.google.com/~r/AccessibleDesign/~3/4tTWkijq3V0/</link>
		<comments>http://www.joedolson.com/articles/2011/07/book-review-wordpress-3-plugin-development-essentials/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 21:02:14 +0000</pubDate>
		<dc:creator>Joe Dolson</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.joedolson.com/articles/?p=1127</guid>
		<description>WordPress 3 Plugin Development Essentials by Brian Bondari and Everett&amp;#160;Griffiths Read more about this book at Packt Publishing &amp;#187; or Buy it at Amazon At root, this book is an excellent overview of the techniques and issues which will be encountered by any developer&amp;#8201;&amp;#8212;&amp;#8201;however experienced&amp;#8201;&amp;#8212;&amp;#8201;when they are authorizing a plug-in using the WordPress plug-in API [...]&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.joedolson.com/articles/2011/07/book-review-wordpress-3-plugin-development-essentials/"&gt;Book Review: WordPress 3 Plugin Development Essentials&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;small&gt;Copyright 2004&amp;thinsp;&amp;ndash;&amp;thinsp;2011 Joseph C Dolson, Accessible Web Design&lt;/small&gt;&lt;/p&gt;</description>
			<content:encoded><![CDATA[<h3><a href="http://www.amazon.com/gp/product/184951352X/ref=as_li_ss_tl?ie=UTF8&#038;tag=joedolsonacce-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399373&#038;creativeASIN=184951352X">WordPress 3 Plugin Development Essentials</a><img src="http://www.assoc-amazon.com/e/ir?t=&#038;l=as2&#038;o=1&#038;a=184951352X&#038;camp=217145&#038;creative=399373" width="1" height="1" alt="" /></h3>
<p>by Brian Bondari and Everett&nbsp;Griffiths</p>
<p><img src="http://ecx.images-amazon.com/images/I/51WPwzcqncL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg" alt="" class="alignright" /></p>
<p><a href="http://link.packtpub.com/Wwr2I7">Read more about this book at Packt Publishing</a> &raquo; or <a href="http://www.amazon.com/gp/product/184951352X/ref=as_li_ss_tl?ie=UTF8&#038;tag=joedolsonacce-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=184951352X">Buy it at Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=joedolsonacce-20&#038;l=as2&#038;o=1&#038;a=184951352X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></p>
<p>At root, this book is an excellent overview of the techniques and issues which will be encountered by any developer&thinsp;&#8212;&thinsp;however experienced&thinsp;&#8212;&thinsp;when they are authorizing a plug-in using the WordPress plug-in <abbr title="Application Programming Interface">API</abbr> in WordPress 3. In particular, I appreciated the emphasis on organization and coding best practices. I&#8217;ve worked with plenty of plug-ins, and there&#8217;s a lot of ugly, unmaintainable code out there. (And I&#8217;ve written some of it, too!) The fact that anybody looking to develop a plug-in who uses this book as a major reference will also get a guide to some best practices in writing software is a <strong>definite</strong>&nbsp;bonus. </p>
<p>The authors are very realistic about the limitations and benefits of the WordPress plug-in system. They observe that WordPress has a great deal of flexibility when it comes to coding style and organization&thinsp;&#8212;&thinsp;and the result is that there&#8217;s a low resistance to entry. Great for beginners, but it does mean that trusting the code you find is something you shouldn&#8217;t do blindly. Clearly the authors want to emphasize that anybody looking to begin developing plug-ins should give some significant thought to the sustainability and quality of their work. Kudos to&nbsp;them!</p>
<p>The book doesn&#8217;t cover an enormous number of different <abbr title="Application Programming Interface">API</abbr> functions, but it does give a good overview of the key hooks that are needed to get started programming for WordPress. Given the scope of what can be done in WordPress, it&#8217;s really a better solution to solidly introduce some of the core techniques rather than try and cram a huge number of concepts down the throats of their&nbsp;readers. </p>
<p>I found the systematic approach taken by the book to be extremely effective&thinsp;&#8212;&thinsp;I appreciated that the book intentionally had the reader introduce common errors into their plug-ins. Having encountered most of those issues by accident somewhere along the line, it&#8217;s tremendously valuable to already have been made aware of some key&nbsp;elements. </p>
<p>I do think that this is a good book, and very worthwhile for the beginning plug-in developer. There are a few additional areas which I would have liked to have seen covered,&nbsp;however. </p>
<p>Although the book is very thorough in addressing programming best practices, it doesn&#8217;t address the quality of output code at all. Valid <abbr title="HyperText Markup Language">HTML</abbr>, consistent use of elements, semantics, and accessibility are all issues which deserve a significant mention in the programming of a WordPress extension&thinsp;&#8212;&thinsp;however easily the plug-in can be maintained, if it doesn&#8217;t produce high-quality output, this can be a major disadvantage for the plug-in. It is very dissatisfying to install a plug-in which does exactly what you need it to, but produces output which can&#8217;t easily be styled or doesn&#8217;t meet the standards required for your web&nbsp;site. </p>
<p>Nonetheless, there are no other issues which I felt were truly missed&thinsp;&#8212;&thinsp;the book is well-written, thorough, and methodical. I can highly recommend it to anybody looking to start authoring WordPress&nbsp;plug-ins. </p>
<p><em>Note: although this review was not paid, I was provided with a free review copy by Packt publishing in exchange for the review. It was definitely a worthwhile&nbsp;trade!</em></p>
<p><strong><a href="http://www.joedolson.com/articles/2011/07/book-review-wordpress-3-plugin-development-essentials/">Book Review: WordPress 3 Plugin Development Essentials</a></strong><br /><small>Copyright 2004&thinsp;&ndash;&thinsp;2011 Joseph C Dolson, Accessible Web&nbsp;Design</small></p>
<p><a href="http://feedads.g.doubleclick.net/~a/WPdlolxTQ2Nus0k8RP6ugWhFcUc/0/da"><img src="http://feedads.g.doubleclick.net/~a/WPdlolxTQ2Nus0k8RP6ugWhFcUc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WPdlolxTQ2Nus0k8RP6ugWhFcUc/1/da"><img src="http://feedads.g.doubleclick.net/~a/WPdlolxTQ2Nus0k8RP6ugWhFcUc/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=4tTWkijq3V0:5i6TBwIhCj8:cTv1dNCI_Tc"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=cTv1dNCI_Tc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=4tTWkijq3V0:5i6TBwIhCj8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=4tTWkijq3V0:5i6TBwIhCj8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=4tTWkijq3V0:5i6TBwIhCj8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=4tTWkijq3V0:5i6TBwIhCj8:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=4tTWkijq3V0:5i6TBwIhCj8:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AccessibleDesign/~4/4tTWkijq3V0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joedolson.com/articles/2011/07/book-review-wordpress-3-plugin-development-essentials/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.joedolson.com/articles/2011/07/book-review-wordpress-3-plugin-development-essentials/</feedburner:origLink></item>
		<item>
		<title>The Vocal Minority</title>
		<link>http://feedproxy.google.com/~r/AccessibleDesign/~3/RDOVrDGYnh4/</link>
		<comments>http://www.joedolson.com/articles/2011/07/the-vocal-minority/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 18:33:26 +0000</pubDate>
		<dc:creator>Joe Dolson</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.joedolson.com/articles/?p=1122</guid>
		<description>As an accessibility consultant and passionate standards advocate, I&amp;#8217;m generally in the position of appreciating the concerns of the minority. As a WordPress plug-in developer, I have a much harder time with it. In fact, as a WordPress plug-in developer, I find the vocal minority very, very&amp;#160;frustrating. So I&amp;#8217;m just going to whinge a little [...]&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.joedolson.com/articles/2011/07/the-vocal-minority/"&gt;The Vocal Minority&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;small&gt;Copyright 2004&amp;thinsp;&amp;ndash;&amp;thinsp;2011 Joseph C Dolson, Accessible Web Design&lt;/small&gt;&lt;/p&gt;</description>
			<content:encoded><![CDATA[<p>As an accessibility consultant and passionate standards advocate, I&#8217;m generally in the position of appreciating the concerns of the minority. As a WordPress plug-in developer, I have a much harder time with it. In fact, as a WordPress plug-in developer, I find the vocal minority very, very&nbsp;frustrating. </p>
<p>So I&#8217;m just going to whinge a little bit. You can stop reading now if you&#8217;re going to be a dick about&nbsp;it. </p>
<p>I recently released a new version (version 2.3.x) of my plug-in <a href="http://www.joedolson.com/articles/wp-to-twitter/">WP to Twitter</a>, which does exactly what it says&thinsp;&#8212;&thinsp;posts status updates from WordPress to Twitter. This release included a couple of heavily demanded features, including support for custom post types and for tweeting updates on&nbsp;comments. </p>
<p>I&#8217;ll admit that there were a couple minor bugs in that release&thinsp;&#8212;&thinsp;as a result, I&#8217;ve released two updates since then, cleaning up those&nbsp;errors. </p>
<p>Some people, in reading this post, will quibble with the statement that they were minor bugs&thinsp;&#8212;&thinsp;and I&#8217;m sure that those who were affected by them don&#8217;t think so. That&#8217;s perfectly&nbsp;fair. </p>
<p>What really bugs me, however, is that if I look at the only real metrics I have for estimating the success of a new feature release, then I&#8217;d have to judge that this was a complete and utter failure. Since that release, I&#8217;ve had dozens of support requests because of bugs, a handful of small donations adding up to at most $45 (if I include all contributions which weren&#8217;t attributable to a specific project), and on the <a href="http://wordpress.org/extend/plugins/wp-to-twitter/">WP to Twitter page at WordPress.org</a>, the &#8220;works&#8221; gauge has been hovering between split towards broken. And the only working vote was&nbsp;mine.</p>
<p>However, I know that this isn&#8217;t really accurate. The reason that I know this is because about a year and a half ago, give or take a few months, I did release a version of the same plug-in that was *really* broken. That was a definite screw-up. At the time, WP to Twitter was a much less popular plug-in, so the impact was dampened, but in the first few hours after release I had several dozen e-mails and support requests informing me of the&nbsp;problem. </p>
<p>In this case, there&#8217;ve been 20,000 plus downloads of the updated version with a handful of people (about 10-12) complaining of problems. In my estimation, this is a very small number of issues given the apparent numbers of&nbsp;users. </p>
<p>But I don&#8217;t really know that, because I don&#8217;t hear very much from those who have a good&nbsp;experience. </p>
<p>This is actually pretty intentional. WP to Twitter is supposed to work quietly in the background&thinsp;&#8212;&thinsp;it&#8217;s not supposed to be an &#8220;in-your-face&#8221; plug-in. So when it works, people don&#8217;t notice it. However, from my seat today, it seems somewhat demoralizing. It makes me very seriously wonder why I continue to work on WP to Twitter. (For the record, I get a lot more positive feedback on <a href="http://www.joedolson.com/articles/my-calendar/">My Calendar</a>, which does&nbsp;help.)</p>
<p>Nonetheless, I have no intention to discontinue support for WP to Twitter. Maybe it&#8217;s just an ego trip, but it&#8217;s certainly helped me build a thick&nbsp;skin&#8230;</p>
<p><strong><a href="http://www.joedolson.com/articles/2011/07/the-vocal-minority/">The Vocal Minority</a></strong><br /><small>Copyright 2004&thinsp;&ndash;&thinsp;2011 Joseph C Dolson, Accessible Web&nbsp;Design</small></p>
<p><a href="http://feedads.g.doubleclick.net/~a/Whjkk2omhAfWVbYh9iuLzwWpf7k/0/da"><img src="http://feedads.g.doubleclick.net/~a/Whjkk2omhAfWVbYh9iuLzwWpf7k/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Whjkk2omhAfWVbYh9iuLzwWpf7k/1/da"><img src="http://feedads.g.doubleclick.net/~a/Whjkk2omhAfWVbYh9iuLzwWpf7k/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=RDOVrDGYnh4:j6TVEi-rUIo:cTv1dNCI_Tc"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=cTv1dNCI_Tc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=RDOVrDGYnh4:j6TVEi-rUIo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=RDOVrDGYnh4:j6TVEi-rUIo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=RDOVrDGYnh4:j6TVEi-rUIo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=RDOVrDGYnh4:j6TVEi-rUIo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=RDOVrDGYnh4:j6TVEi-rUIo:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AccessibleDesign/~4/RDOVrDGYnh4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joedolson.com/articles/2011/07/the-vocal-minority/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.joedolson.com/articles/2011/07/the-vocal-minority/</feedburner:origLink></item>
		<item>
		<title>On the Perception of Relevance</title>
		<link>http://feedproxy.google.com/~r/AccessibleDesign/~3/eIa4VP3sgrc/</link>
		<comments>http://www.joedolson.com/articles/2011/05/on-the-perception-of-relevance/#comments</comments>
		<pubDate>Mon, 23 May 2011 14:29:56 +0000</pubDate>
		<dc:creator>Joe Dolson</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Search Engines]]></category>

		<guid isPermaLink="false">http://www.joedolson.com/articles/?p=981</guid>
		<description>Search engines and humans are always looking for relevance. When we first open a document on the web (or in our mail), one of our first actions is frequently to determine whether this document is relevant to our needs. In the case of e-mail or physical mail, this is entirely a &amp;#8220;push&amp;#8221; experience&amp;#8201;&amp;#8212;&amp;#8201;messages are sent [...]&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.joedolson.com/articles/2011/05/on-the-perception-of-relevance/"&gt;On the Perception of Relevance&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;small&gt;Copyright 2004&amp;thinsp;&amp;ndash;&amp;thinsp;2011 Joseph C Dolson, Accessible Web Design&lt;/small&gt;&lt;/p&gt;</description>
			<content:encoded><![CDATA[<p>Search engines and humans are always looking for relevance. When we first open a document on the web (or in our mail), one of our first actions is frequently to determine whether this document is relevant to our needs. In the case of e-mail or physical mail, this is entirely a &#8220;push&#8221; experience&thinsp;&#8212;&thinsp;messages are sent to us, and we evaluate them for relevance. Spam survives largely on that obscure edge case where we identify their messages as&nbsp;relevant. </p>
<p>When it comes to web documents, the experience is more of an even exchange: we provide search engines with instructions about what we want to find and they send back a response which we both hope will meet our concept of relevance for the given&nbsp;instructions. </p>
<h3>Sales and conversions are driven by&nbsp;relevance.</h3>
<p>But humans and computers perceive information and relevance in very different ways. This is a challenge for search engines, which need to be tuned to fetch information which appears relevant to a human searcher on the basis of a computer&#8217;s understanding of the document. This is also a challenge for people with disabilities&thinsp;&#8212;&thinsp;while a person with a disability will generally have the human ability to perceive relevance, their perception of information on the web may be filtered through a computer. For a person who requires the use of a screen reader, this filtering amounts to receiving only the facets of information which are made available both by the author of the document and by the assistive technology they are&nbsp;using.</p>
<p>So, in any online search for information, a person with disabilities is encountering three primary barriers to finding relevant&nbsp;information:</p>
<ul>
<li>Did the author consider their needs when the document was&nbsp;created?</li>
<li>Does their assistive technology offer the resources to transfer that&nbsp;information?</li>
<li>Did the search engine return information which will be considered relevant to a&nbsp;human?</li>
</ul>
<p>Everybody encounters the flaws in search engine results. Although searching is far more sophisticated than it was just a few years ago, it is still limited. (And appears to be getting more and more subject to <a href="http://www.thefilterbubble.com/">the filter bubble effect</a>&thinsp;&#8212;&thinsp;though that&#8217;s a different&nbsp;subject.) </p>
<p>Some words have multiple meanings, which are dependent on context. We all use context to guess these meanings: humans use tone of voice, facial gestures, body language, location, environment, and many other factors to assess what the probable meaning of a word may be. Search engines have limited access to this information&thinsp;&#8212;&thinsp;some information is mechanically detectable; such as location, and to some degree, environment. They know what words you used to search, and they may know what else you&#8217;ve recently searched for. They can use this information to try and better assess your intent and deliver the most relevant information to&nbsp;you. </p>
<p>When it comes down to what information is on a web document, search engines and screen readers have very similar information. As a result, search engines and users of screen readers have similar limitations in their ability to quickly identify relevance on those documents. In some ways, search engines have an advantage, since they can absorb all of the information on the page far more quickly than any human&nbsp;can.</p>
<p>Where a search engine might simply absorb an entire page and move on, humans <strong>scan</strong>. A visual user will quickly glance over the page, identifying images, headlines, navigation elements, and noticing a few key words along the way down the page. That quick scan of the page can frequently provide all the information the user needs to decide the document deserves another look, or is clearly&nbsp;irrelevant. </p>
<p>Users with disabilities also scan, when it&#8217;s an option. This is a place where the capabilities of assistive technology and the attentiveness of a web author really come into&nbsp;play. </p>
<p>For a screen reader user, it&#8217;s clear that there won&#8217;t be any quick scan of images. Although images may have supporting <code>alt</code> attributes, it wouldn&#8217;t be any real savings of effort to check. They can scan through <a href="http://www.joedolson.com/articles/2008/08/best-practices-in-web-development-part-3/">descriptive link text</a>, <a href="http://www.joedolson.com/accessible-navigation.php">accessible navigation</a>, and headings, however&thinsp;&#8212;&thinsp;if they&#8217;ve been provided in a useful fashion. Repetitive link text, headings replaced with images without <code>alt</code> attributes or an inaccessible font replacement method, any of the multitude of inaccessible navigation techniques: they may not prevent the user from getting at your content, but they will absolutely prevent the user from being able to get an overview of the content by&nbsp;scanning.</p>
<p>I mentioned above that search engines have some degree of advantage due to their speed of information absorption. The slower speed with which humans absorb information means that where a search engine might find great relevance caused by repetition of key phrases (or it might not&thinsp;&#8212;&thinsp;I would call that keyword stuffing, myself); a human will instead be overwhelmed by the same&nbsp;repetition. </p>
<p>This comes back to context. A human visitor to your web site doesn&#8217;t care at all how many times you&#8217;ve stated &#8216;blue widgets&#8217;, unless it&#8217;s less than once. From our perspective, if you said at the top of the page that you&#8217;re selling blue widgets, we understand that everything from that point on is in the context of a blue widget. If you actually say, over and over again, that we&#8217;re reading the <em>blue widget specifications</em>, and the pricing on <em>blue widget shipping</em>, and that your <em>blue widget support</em> is superlative&thinsp;&#8212;&thinsp;we&#8217;re just going to get overwhelmed. It&#8217;s unnecessary, and creates the sense of what I&#8217;m choosing to call &#8220;information blur&#8221; (the effect when information is lost due to excessive adjectival&nbsp;description).</p>
<h3>What&#8217;s my point,&nbsp;again?</h3>
<p>Relevance is a prime factor in converting a web visitor into a paying customer. However, humans and computers perceive relevance using very different factors. The best performing web site is going to be created according to the compromise rules which will provide the most relevant information to both humans <strong>and</strong> to search engines. Visitors with assistive technology, and particularly screen readers, are an interesting test case in this scenario, because the information they receive is filtered in a similar manner to that which a search engine will&nbsp;see.  </p>
<p>Creating accessible content: it&#8217;s not <em>just</em> the right thing to do.
<p><strong><a href="http://www.joedolson.com/articles/2011/05/on-the-perception-of-relevance/">On the Perception of Relevance</a></strong><br /><small>Copyright 2004&thinsp;&ndash;&thinsp;2011 Joseph C Dolson, Accessible Web&nbsp;Design</small></p>
<p><a href="http://feedads.g.doubleclick.net/~a/nJduvHddG3-N4jJxHeHoaA2cR44/0/da"><img src="http://feedads.g.doubleclick.net/~a/nJduvHddG3-N4jJxHeHoaA2cR44/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/nJduvHddG3-N4jJxHeHoaA2cR44/1/da"><img src="http://feedads.g.doubleclick.net/~a/nJduvHddG3-N4jJxHeHoaA2cR44/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=eIa4VP3sgrc:Da4IOXuiOoE:cTv1dNCI_Tc"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=cTv1dNCI_Tc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=eIa4VP3sgrc:Da4IOXuiOoE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=eIa4VP3sgrc:Da4IOXuiOoE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=eIa4VP3sgrc:Da4IOXuiOoE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=eIa4VP3sgrc:Da4IOXuiOoE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=eIa4VP3sgrc:Da4IOXuiOoE:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AccessibleDesign/~4/eIa4VP3sgrc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joedolson.com/articles/2011/05/on-the-perception-of-relevance/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.joedolson.com/articles/2011/05/on-the-perception-of-relevance/</feedburner:origLink></item>
		<item>
		<title>Quick Tips: URLs in WordPress development sites</title>
		<link>http://feedproxy.google.com/~r/AccessibleDesign/~3/AsOdG3TYDeA/</link>
		<comments>http://www.joedolson.com/articles/2011/05/quick-tips-urls-in-wordpress-development-sites/#comments</comments>
		<pubDate>Fri, 13 May 2011 13:43:53 +0000</pubDate>
		<dc:creator>Joe Dolson</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[shortcodes]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.joedolson.com/articles/?p=976</guid>
		<description>Something I&amp;#8217;ve occasionally found irritating when developing a web site outside of it&amp;#8217;s long-term residence (on a temporary URL, in a subdirectory, etc.), is having to choose between either adding relative URLs, the URLs for the current address, or the URLs for the final address for internal links in the development&amp;#160;site. Obviously, using relative URLs [...]&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.joedolson.com/articles/2011/05/quick-tips-urls-in-wordpress-development-sites/"&gt;Quick Tips: URLs in WordPress development sites&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;small&gt;Copyright 2004&amp;thinsp;&amp;ndash;&amp;thinsp;2011 Joseph C Dolson, Accessible Web Design&lt;/small&gt;&lt;/p&gt;</description>
			<content:encoded><![CDATA[<p>Something I&#8217;ve occasionally found irritating when developing a web site outside of it&#8217;s long-term residence (on a temporary <abbr title="Uniform Resource Locator">URL</abbr>, in a subdirectory, etc.), is having to choose between either adding relative URLs, the URLs for the current address, or the URLs for the final address for internal links in the development&nbsp;site. </p>
<p>Obviously, using relative URLs will work, but I&#8217;m generally reluctant to use them in any <abbr title="Content Management System">CMS</abbr> (Content Management System), knowing that I may later want to provide access to that content elsewhere on the site. One of the luxuries of a <abbr title="Content Management System">CMS</abbr> is the ability to use a single source for content which is used in multiple locations, after all&thinsp;&#8212;&thinsp;but I don&#8217;t much like paying for that with broken&nbsp;links. </p>
<p>However, and especially with a larger web site, it&#8217;s not exactly a lot of fun to have to either do a big search and replace or manually run through and replace URLs at the time of&nbsp;launch. </p>
<p>Fortunately, WordPress&#8217; shortcodes <abbr title="Application Programming Interface">API</abbr> provides an insanely easy way to get around&nbsp;this.</p>
<p>Add this to your theme&#8217;s <code>functions.php</code>&nbsp;file:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">add_shortcode<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'url'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'home_url'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>If you&#8217;re not comfortable editing your <code>functions.php</code> file, you can also <a href="http://www.joedolson.com/articles/downloads/url-shortcode.zip">download it as a&nbsp;plug-in</a>.</p>
<p>This very, very short line of code will provide you with the simple inline shortcode <code>[url]</code>, which will provide (obviously) the home <abbr title="Uniform Resource Locator">URL</abbr> for your WordPress web&nbsp;site.</p>
<p>You can use this in any page or post when you know the <abbr title="Uniform Resource Locator">URL</abbr> will be changing like this: <code>&lt;a&nbsp;href=&quot;[url]/pretend-page/&quot;&gt;</code>.</p>
<p>Even if you&#8217;re not planning on moving your web site, it&#8217;s clear that typing those five characters is probably a much faster way of getting your home <abbr title="Uniform Resource Locator">URL</abbr> than typing it out!
<p><strong><a href="http://www.joedolson.com/articles/2011/05/quick-tips-urls-in-wordpress-development-sites/">Quick Tips: URLs in WordPress development sites</a></strong><br /><small>Copyright 2004&thinsp;&ndash;&thinsp;2011 Joseph C Dolson, Accessible Web&nbsp;Design</small></p>
<p><a href="http://feedads.g.doubleclick.net/~a/NsgExdd5vjMs8B6TcneD_UTtx7w/0/da"><img src="http://feedads.g.doubleclick.net/~a/NsgExdd5vjMs8B6TcneD_UTtx7w/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/NsgExdd5vjMs8B6TcneD_UTtx7w/1/da"><img src="http://feedads.g.doubleclick.net/~a/NsgExdd5vjMs8B6TcneD_UTtx7w/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=AsOdG3TYDeA:ig1MlXGjg10:cTv1dNCI_Tc"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=cTv1dNCI_Tc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=AsOdG3TYDeA:ig1MlXGjg10:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=AsOdG3TYDeA:ig1MlXGjg10:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=AsOdG3TYDeA:ig1MlXGjg10:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=AsOdG3TYDeA:ig1MlXGjg10:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=AsOdG3TYDeA:ig1MlXGjg10:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AccessibleDesign/~4/AsOdG3TYDeA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joedolson.com/articles/2011/05/quick-tips-urls-in-wordpress-development-sites/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.joedolson.com/articles/2011/05/quick-tips-urls-in-wordpress-development-sites/</feedburner:origLink></item>
		<item>
		<title>WordPress Call for Accessibility</title>
		<link>http://feedproxy.google.com/~r/AccessibleDesign/~3/r-M3CRpvHuw/</link>
		<comments>http://www.joedolson.com/articles/2011/05/wordpress-call-for-accessibility/#comments</comments>
		<pubDate>Fri, 06 May 2011 20:39:52 +0000</pubDate>
		<dc:creator>Joe Dolson</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.joedolson.com/articles/?p=985</guid>
		<description>Jane Wells, the WordPress user interface lead, posted a call for accessibility reviewers for WordPress 3.2 and the new Twenty Eleven theme. I would dearly love to help with this, but in all practicality I don&amp;#8217;t think I can commit to it right now. However, I hope that if there&amp;#8217;s anybody out there with a [...]&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.joedolson.com/articles/2011/05/wordpress-call-for-accessibility/"&gt;WordPress Call for Accessibility&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;small&gt;Copyright 2004&amp;thinsp;&amp;ndash;&amp;thinsp;2011 Joseph C Dolson, Accessible Web Design&lt;/small&gt;&lt;/p&gt;</description>
			<content:encoded><![CDATA[<p>Jane Wells, the WordPress user interface lead, posted a call for accessibility reviewers for WordPress 3.2 and the new Twenty Eleven theme. I would dearly love to help with this, but in all practicality I don&#8217;t think I can commit to it right now. However, I hope that if there&#8217;s anybody out there with a good handle on accessibility issues and a little extra time they&#8217;ll volunteer to provide their&nbsp;thoughts! </p>
<p>WordPress has demonstrated an interest in accessibility, but they need your&nbsp;help! </p>
<p>If you&#8217;re interested, Jane has asked for names and information to sign up (although, so far, it seems like most people have just gone ahead and started making comments&nbsp;directly.)</p>
<p>Show your interest here: <a href="http://make.wordpress.org/accessibility/2011/05/06/if-anyone-would-like-to-take-a-stroll-th/">Make WordPress&nbsp;Accessible</a></p>
<p>Keep in mind, please, that the WordPress development team are asking for help, not criticism. They are asking for help because they know that they aren&#8217;t accessibility experts&thinsp;&#8212;&thinsp;keep the tone constructive! WordPress is a great application&thinsp;&#8212;&thinsp;and from the vantage point of making the web more accessible, making such a popular and widespread application as accessible as possible would be huge progress.
<p><strong><a href="http://www.joedolson.com/articles/2011/05/wordpress-call-for-accessibility/">WordPress Call for Accessibility</a></strong><br /><small>Copyright 2004&thinsp;&ndash;&thinsp;2011 Joseph C Dolson, Accessible Web&nbsp;Design</small></p>
<p><a href="http://feedads.g.doubleclick.net/~a/LlyhJ2LvazDSkm_BVg8vlF8dL08/0/da"><img src="http://feedads.g.doubleclick.net/~a/LlyhJ2LvazDSkm_BVg8vlF8dL08/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/LlyhJ2LvazDSkm_BVg8vlF8dL08/1/da"><img src="http://feedads.g.doubleclick.net/~a/LlyhJ2LvazDSkm_BVg8vlF8dL08/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=r-M3CRpvHuw:9WgXl4VQzHo:cTv1dNCI_Tc"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=cTv1dNCI_Tc" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=r-M3CRpvHuw:9WgXl4VQzHo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=r-M3CRpvHuw:9WgXl4VQzHo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=r-M3CRpvHuw:9WgXl4VQzHo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/AccessibleDesign?a=r-M3CRpvHuw:9WgXl4VQzHo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/AccessibleDesign?i=r-M3CRpvHuw:9WgXl4VQzHo:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/AccessibleDesign/~4/r-M3CRpvHuw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.joedolson.com/articles/2011/05/wordpress-call-for-accessibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.joedolson.com/articles/2011/05/wordpress-call-for-accessibility/</feedburner:origLink></item>
	</channel>
</rss>

