viagra canada online pharmacy kamagra tablets for women cialis 20 mg side effects sildenafil prices buy viagra sydney cialis how it works viagra image genuine viagra for sale viagra cost with prescription cialis tablets side effects online viagra order levitra vardenafil tablets cheap cialis india viagra purchasing women levitra bayer levitra online sildenafil levitra dose buy viagra for cheap buy levitra no prescription kamagra gel uk generic tadalafil 20mg buy viagra with no prescription cheap generic vardenafil viagra manufacturer viagra quick delivery cialis 20mg daily cialis pharmacy prices viagra us pharmacy generic cialis safety sildenafil citrate 25mg kamagra soft tablets buy levitra cheap cheap cialis online buying kamagra online online cialis prescription buy generic levitra online cheapest viagra generic generic viagra online cheap generic viagra UK liquid viagra online OTC viagra alternative viagra prescription online kamagra oral jelly does it work levitra with no prescription viagra naturale tadalafil best price cheapest kamagra oral jelly generic cialis soft generic viagra online viagra how much to take generic viagra sildenafil cheap sildenafil citrate tablets kamagra price order viagra online without a prescription fast viagra cialis 5mg price generic vardenafil buying viagra without prescription sildenafil generic reviews viagra cialis difference canada cialis online generic cialis price viagra trial coupon buy viagra australia viagra indian viagra medication discount tadalafil online generic viagra generic viagra overnight shipping viagra super active+ 100mg pills liquid tadalafil ordering sildenafil online safe cialis tabs 10mg buy generic levitra online cialis without a prescription sildenafil for sale viagra by ranbaxy cheap viagra no prescription buy viagra no prescription tadalafil 10mg cipla sildenafil citrate medicare cialis buying generic cialis online impotence viagra buy cialis overnight cost of generic viagra cialis information sildenafil citrate 50mg cialis buy online levitra cost generic sildenafil 100mg cialis soft tabs generic cialis online pill tadalafil drug what is soft cialis order viagra online cialis prescription soft viagra tabs buy cialis online usa kamagra suppliers viagra prescription cost cialis for order kamagra delivery sildenafil without prescription viagra online buy buy levitra online canada sildenafil otc cialis ireland generic viagra new zealand tadalafil sublingual tablets viagra generics 20mg cialis generic levitra comparison levitra online prescription cheap viagra without prescription why is viagra blue viagra for sale cheap cialis original buy original viagra online viagra generic brand discount cialis and viagra cheap kamagra online uk viagra pharmacy cost viagra lasts walmart pharmacy cialis liquid sildenafil citrate cialis canadian generic viagra blue pill 25mg viagra no prescription uk generic viagra soft tabs viagra vancouver bc viagra medicine in india sample cialis viagra 150mg tadalafil generic 5mg buy 25mg viagra price of cialis viagra made in india viagra without ed viagra canada pharmacy cost of viagra in new zealand buy kamagra online cheap tadalafil cheap levitra online pharmacy viagra email list viagra suppliers viagra drug store cheapest cialis online viagra spray tadalafil online buy viagra jelly kamagra gel cheap sildenafil dose tadalafil manufacturers india no rx viagra cheap levitra no prescription kamagra oral jelly australia viagra to buy cheap genuine viagra without prescription vardenafil 20 mg kamagra paypal uk lloyds pharmacy cialis buy levitra uk vardenafil hcl viagra alternative pills sildenafil citrate pills viagra pfizer canada where to buy viagra over the counter viagra south africa generic kamagra buy cialis online without a prescription soft viagra buy cialis overnight buy generic levitra online real viagra online 100mg kamagra generic levitra tablets generic viagra next day delivery liquid viagra drink cialis cheap generic sildenafil citrate 100mg viagra 15 mg kamagra 100mg sildenafil india order cialis pfizer viagra 100mg real viagra without a prescription vardenafil for women vardenafil pah buying viagra cialis discount price indian levitra cialis super active+ 20mg pills viagra online in UK daily dosage of cialis online cialis reviews cialis thailand suppliers of kamagra viagra next day delivery uk cialis split cialis prices canada brand name of viagra viagra wholesaler buy cialis super active cialis once a day cost original viagra for sale generic sildenafil citrate tablets get cialis online cialis compare levitra online viagra sales generic cialis forum viagra online rx indian generic cialis cialis 10mg price levitra prices canada cialis super active tadalafil buy viagra in ireland buy levitra 20 mg generic viagra United States buy vardenafil prescriptions viagra generic viagra cheap viagra no prescription levitra mexico canadian pharmacy cialis genuine kamagra levitra australia sildenafil purchase kamagra legal in uk viagra canadian pharmacy viagra online safely powder viagra viagra free sample viagra without a prescription canada order levitra without prescription cialis online buy viagra without prescription online tadalafil buy kamagra oral jelly pills online UK viagra buying kamagra online viagra pharmacy cheap viagra canada oral jelly vardenfil viagra 25 mg price viagra street price sildenafil structure online UK viagra kamagra oral jelly cheap viagra price in india viagra online australia buy cialis mexico viagra for women dosage cialis uk online cialis alternative viagra 50mg vs 100mg sildenafil oral jelly viagra super active 100 mg levitra vs. viagra online viagra paypal where can i buy kamagra in london cheap generic viagra where to buy cialis in singapore canadian viagra pro online levitra photos of viagra generic sildenafil citrate viagra online shop cialis uk sales levitra prices canada buy viagra from UK buy levitra no prescription viagra herbal substitute buy online viagra generic viagra overnight shipping brand viagra generic viagra mastercard kamagra uk supplier order cialis without prescription viagra discount prices cialis 10mg or 20mg canada cialis levitra discount coupons sildenafil UK over the counter cialis instructions samples of viagra online prescription viagra buy viagra tablets buy cheap sildenafil 25mg viagra online purchase cialis cialis multiple attempts buy viagra with no prescription online purchase viagra sildenafil citrate 100mg india cialis tadalafil 5mg buy kamagra jelly online tadalafil cialis from india price of viagra tablets cialis low price viagra generic names cialis daily use cialis dosage information cheap cialis viagra ingredients sample of levitra cheapest viagra generic purchase viagra australia viagra canadian is levitra over the counter viagra prescription cost buy viagra safely online viagra sublingual cialis soft tabs viagra jelly for sale equivalent of viagra for women over the counter viagra replacement does 25mg viagra work viagra singapore viagra discount cialis from india viagra generic brand sildenafil chemical name vardenafil 10mg buy viagra over the counter buy kamagra uk kamagra gel oral viagra professional 100 mg buy viagra in britain cialis australia cialis jelly how to get levitra without a prescription kamagra oral jelly buy generic levitra cheap viagra overnight delivery viagra sales 2009 cheap levitra professional viagra 200 mg levitra faq sildenafil 50mg cialis cost per pill cialis testimonials viagra online prescription cheap levitra 5mg viagra UK viagra UK no prescription generic viagra online pharmacy viagra generic buy kamagra jelly generic cialis 10mg cheap levitra 20 mg buy sildenafil citrate viagra without erectile dysfunction buy cialis soft tabs viagra versus levitra otc cialis where to buy tadalafil cheapest viagra online levitra without prescription how is viagra prescribed cheap viagra no prescription vardenafil without prescription cialis 5mg online buy viagra for women sildenafil citrate soft sildenafil citrate tablets price of viagra at walmart cheap generic cialis online natural viagra pills viagra comparison generic viagra paypal generic viagra price cheap levitra pills cialis fedex buy viagra with amex viagra low price kamagra sale generic viagra from india cialis trial indian kamagra viagra mail order canada cialis chewable viagra indian version viagra drug info cialis daily dose cost viagra vs. cialis buy viagra in the uk viagra cost per pill price of viagra in mexico over the counter viagra australia buy cialis without prescription uk cheap viagra cialis cheap soft viagra tadalafil indian brands kamagra soft tablets viagra gel caps viagra tablets for sale canadian cialis buy viagra prescription online levitra sales viagra compared to cialis cheap generic viagra online viagra online no prescription viagra england buy cialis canada viagra tabs cheap online cialis viagra indian pharmacy levitra tab 20mg cialis coupons sildenafil for women order viagra online soft gel viagra sildenafil cost buy levitra tablets cheap viagra order online buy tadalafil 20mg cialis in canada discount viagra viagra safe buy viagra online UK buy cialis no prescription viagra buying online generic viagra UK generic drug viagra levitra tablet online order viagra canadian viagra generic how do you get cialis levitra generic cialis non prescription cialis nz vardenafil cipla oral gel viagra viagra prescription drug cialis for sale in canada viagra kgr 100 viagra available over the counter cipla generics sales viagra viagra soft tabs 100mg india viagra over the counter viagra alternative cheap viagra jelly generic viagra cost viagra sample pack buy levitra 10mg alternative viagra female viagra herbal generic viagra names cialis uk prescription drug interactions with cialis kamagra 100 chewable tablet viagra for cheap consultation online viagra how to buy viagra safely order viagra online without a prescription whats viagra like viagra chemical name generic cialis uk cialis for woman cialis generic no prescription cialis online sales viagra cheap generic cialis 100mg cialis generic price 40 mg cialis buy viagra mastercard viagra online prescriptions discount cialis online viagra prescription UK cialis professional c20 buy cialis mastercard canada viagra online buy sildenafil pills viagra substitutes viagra purchase online viagra equivalent tadalafil soft cialis generic lowest price safe buy viagra online order viagra from canada how to get cialis prescription cialis daily dose cost buy green kamagra generic viagra thailand viagra 100mg cialis paypal payment cialis online without prescription real viagra without a prescription online viagra without prescription levitra online purchase generic tadalafil viagra sales how to buy viagra in singapore viagra cialis levitra compare generic tadalafil online cialis shipped overnight brand cialis online vardenafil patent levitra no prescription viagra 50 mg tablets buy viagra soft tabs natural viagra substitute viagra overnight no prescription order viagra online canada tadalafil soft tablets 20mg herbal viagra review free cialis pills kamagra wholesale india viagra generic cialis woman daily tadalafil cialis liquid buy vardenafil online sublingual viagra sildenafil levitra information viagra for sale without prescription viagra india online cialis how fast cialis prescription needed generic viagra suppliers female viagra herbal viagra online consultation cialis to buy sildenafil vs vardenafil viagra professional online is ordering viagra online legal discount viagra pills viagra generic online viagra price online generic cialis review sildenafil australia female viagra cost of cialis daily tadalafil without prescription cheap viagra order online viagra pills for cheap get viagra today get viagra in canada best online pharmacy viagra daily cialis effectiveness pfizer coupons for viagra best price cialis levitra price cialis 2.5 mg daily cialis manufacturer cialis tablets natural viagra supplement free shipping viagra how to get viagra prescription online purchase viagra online no prescription levitra from india purchase viagra online no prescription

Surprise! Your “semantic, accessible, search engine friendly” WordPress theme is none of the above.

by Dean Hamack

January 22nd, 2009

I’ve been a fan of WordPress for a long time, and have used it to set up numerous blogs for clients over the years. So when I finally got around to building one for myself, W.P. was the logical choice. The tough part was choosing a theme.

I had five basic requirements:

  1. It had to be Valid XHTML
  2. It had to have clean, simple markup and CSS without tables, absolute positioning, etc.
  3. The markup had to be semanitic
  4. It had to be optimized for accessibility
  5. It had to be optimized for search engines

Considering the vast number of WordPress themes available, this didn’t seem like a very tall order. Finding one that met the first two requirements wasn’t that difficult (since even the default theme validates and is tableless). But after hours of searching, I was unable to find a single theme that met all five (despite the claims of their authors). More suprisingly, I discovered almost all themes violate some very basic structural markup rules.

Semantics

If you Google the term "semantic markup", you will find dozens of articles attempting to explain exactly what the term means. For more on the subject of semantic markup, check out Joseph Lindsay’s presentation here.

Most WordPress themes aren’t semantic because they use classnames like "narrowcolumn" and HTML tags like <small>, <bold>, and <hr> (all of which have been deprecated). Most themes also suffer from "div-itis" (the practice of wrapping every single item in a div tag, whether it needs it or not). Blocks of text should be paragraphs, comments should be ordered list-items, etc.

Accessibility

Web accessibility is about making websites usable by everyone, regardless of their platform or disability. Since W.P. is designed primarily to be a platform for distributing basic text information (rather than audio and video), we’ll concentrate on two types of users: those with visual impairments and those using mobile devices (iPhone, Windows Mobile, etc.)

Visual Impairments

There are three common types of visual impairment:

  1. Complete blindness
  2. Low Vision (poor eyesight)
  3. Color blindness

Complete Blindness

People in the first category use screenreaders to navigate the web. A screenreader works by reading the text of your website in the order it appears in your markup. Screenreaders ignore CSS (with the exception of elements set to display="none"). Screenreader users can also skip sections of your page by tabbing to a heading tag (H1, H2, etc.). Making your site accessible to these users means giving them the ability to quickly navigate to the information they are looking for, without having to wade through a bunch of irrelevant stuff first. For example: a sighted user arriving at this site looking for articles on accessibility can quickly see the category link in the right hand sidebar. But since nearly every W.P. theme places the page navigation and category links after the post content, the blind user has to listen to (or toggle through) all of your content before they can get to those links.

One of the ways you can improve the accessibility of your site is by using a "skip link". Skip links are generally placed at the very top of your markup and have anchor text that says "skip navigation" or "skip to content". This allows people using screenreaders or mobile devices with very little screen real estate to quickly jump past your navigation or content. A few W.P. themes incorporate this feature, but it’s completely useless in most of them. In every one I tried, clicking the "skip navigation" link only got me past the logo and a search bar. I still had to scroll all the way through the page text to get to the categories and other sidebar content. I could only find one theme that made proper use of the skip link. But that theme suffers from 50 validation errors, inline styles, deprected tags, and numerous semantic errors.

Making your site accessible also means not using markup for decorative elements like the "|" and "»" characters. WordPress is rife with these, and it’s extremely annoying for screenreader users. For more on that subject, you can read my article on Special HTML Characters and Accessibility.

Low Vision and Color Blindness

People with poor eyesight have a difficult time reading small text, and text which has a low contrast ratio to the page’s background. So while your 10 pixel, gray, Times New Roman text on a black background may be fine for young people with good eyesight, it’s less than ideal for people with aging eyes or visual impairment. And your links without underlines may be fine for people who can see colors, colorblind people won’t be able to distinguish them from plain text.

If your theme uses basic black text on white background, underlined links, and relative font sizes, its probably fine for low vision users. If not, you should provide users with the ability to switch to an alternative stylesheet.

Mobile Devices

At the time of this writing, statistics show that approximately 1 out of 100 people visiting a given website are doing so on a mobile device such as an iPhone, Windows Mobile, or BlackBerry. Multi-column layouts, small fonts, etc. work really poor on devices with three inch screens. So in order to make your site accessible to those users, you need to provide a mobile stylesheet.

Search Engine Optimization

One of the most hotly debated topics in the field of web-dev is the proper use of header tags. There’s no solid information on the subject, but my anecdotal evidence suggests that Google and other search engines give more weight to H1 tags than other lesser headings (H2, H3, etc.). That being the case, the title of your post (which is the most relevant thing on a given page) should be an H1 not your blog title. Unless you are a superstar in the blogging world, it is highly unlikely that people are going to be searching for the name of your blog. Even if they are, your domain name, page titles, and other content should be more than sufficient to get them to the right place. Additionally, the way WordPress sets up page titles is backwards from an SEO standpoint. It places the blogname before the article’s title, rather than after it ((as it should be). Unfortunately, you can’t change the order in the theme, it must be done by hacking the "general-template.php" file, or by installing a plugin such as the All in One SEO Pack.

"If you want something done right…"

Since I couldn’t find a theme that met all of my criteria, I decided to build my own theme called "Access". It’s the result of a whole lot of testing, tweaking, and input from from a lot of people.

Features:

  • All unecessary divs and deprecated HTML tags removed
  • Semantic classnames and ID’s
  • Stylesheet for mobile devices
  • A "theme switcher" menu to improve accessibility for low-vision users
  • A "skip link" to improve accessibility for screenreader and mobile device users
  • All special characters removed and replaced with background images
  • All CSS and PHP minified (white space and unecessary comments removed) to decrease file size and load times
  • Logo and icons contained in a single image "sprite" to reduce HTTP requests
  • Comment form optimized with proper label placement and markers to denote required fields
  • And of course, Section 508 compliance and 100% valid XHTML/CSS (with the exception of the mobile stylesheet which doesn’t validate due to iPhone specific styles)

Server Requirements:

  • WordPress 2.7 or higher
  • PHP 4
  • MySQL 4.1 or higher

The theme is a very clean, basic, black and white theme. It was designed primarily to be used as a starting point for developers, rather than an end-product. But it still looks great out of the box. This site uses the very same template, with only a few modifications to the stylesheet, and a few extra images.

Update – 04/27/2009:

The latest version of Access is available now. A huge thanks to Stephen Howard for making the theme switcher compatible with both PHP4 and PHP5. If you’ve been getting parse errors when trying to install the theme, it’s probably because you had PHP4. This latest version should fix those.

You can download the Version 2.1 of the Access Theme for WordPress 2.7 here

38 Responses to “Surprise! Your “semantic, accessible, search engine friendly” WordPress theme is none of the above.”

  1. Thanks for the fyi and for creating this theme. I am eager to give it a test drive. I am having difficulty unzipping the files on my Vista machine. It could be a problem on my machine, a Mac thing or a corrupt file. Can you re-zip it and upload it? This could explain why it was not accepted on wordpress.org.

    Tim

    Posted by: timobrien on January 22nd, 2009 at 2:25 pm

  2. Hi Tim,

    I zipped it on my Mac, so perhaps that's the problem. I re-zipped it with Windows and re-uploaded it. Give it another shot and let me know if you still have issues.

    Posted by: dean on January 22nd, 2009 at 2:38 pm

  3. Correction: using the Theme Test Drive plugin, I have just installed the Acces theme. Great job! I will have some more questions in a bit.

    Posted by: timobrien on January 22nd, 2009 at 2:40 pm

  4. [...] http://www.bushidodesigns.net/blog/semantic-accessible-seo-friendly-wordpress-theme/ [...]

    Posted by: Lee Trampleasure’s Blog » Blog Archive » Article on accessibility in WordPress on February 2nd, 2009 at 3:03 pm

  5. Is there a test site which an show people what the theme looks like?

    Posted by: timobrien on February 25th, 2009 at 4:50 am

  6. I guess I can't put html in the comments: http://www.timobrienphotos.com/2009/02/testing-a-new-…ordpress-themetesting-a-new-accesssible-wordpress-theme/

    Posted by: timobrien on February 25th, 2009 at 5:08 am

  7. Dean,
    this theme is great, but…
    with disable image, the title on the header is visually disappear.
    This page is not valid XHTML 1.0 Transitional by validome (…href="#… problem), but W3C's said valid.
    WAI 1.0 failed. ATRC as WCAG 2.0 checker is currently down, I guess.
    On the homepage, I found h1 titled "Recent Posts".

    Posted by: dani on March 16th, 2009 at 2:41 am

  8. Dani,

    The default layout is intended for people with normal vision using a desktop computer. If you switch to the high-contrast layout, use a screenreader, or use a mobile device, you will get text instead of the logo image. The theme validates using W3C and Total Validator. I cannot speak to the other validators you mentioned. The extra h1 tag only appears if you aren't using a dynamic sidebar (which I figure most people are). Regardless, I agree it should be fixed, and I will do so in the next release. Thanks for your comments.

    Posted by: dean on March 16th, 2009 at 6:46 pm

  9. Dean,
    ah ya, sorry, the contrast theme, you were right. :)
    I think the "Special HTML Characters and Accessibility" link is incorrect, Dean.

    Posted by: dani on March 17th, 2009 at 1:48 pm

  10. I am assuming since you use a Mac that this template is Mac compatible, correct?

    Posted by: pgwhalen on April 9th, 2009 at 11:56 am

  11. Yes. I do all of my development on a Mac and then test my sites on Firefox and IE6 and 7 on the PC. BTW: I just released an improved version of it. It's available in the link above.

    Posted by: dean on April 9th, 2009 at 10:42 pm

  12. This theme is shaping up to be an amazing addition to the WordPress theme community as I've been looking for this type of theme for a *LONG* time. I look forward not only to offering suggestions, but helping in ways that I can. I admit to not having visual impairments or other disabilities, however I do work with them in my local community, I can always ask around :) . Further, I also admit that I've never had the privilege of using any accessible technologies. I am also not a web designer so, please forgive me for any shoddy markup.

    In regards to navigation, I would like to suggest having "skip to" links within the navigation. Some sites can have many links, pages, categories, etc. and the information the user may want may be at the bottom. Thus I propose doing (in the sidebar) "Skip to Pages, Categories, Links, Meta, etc" to cut down on the amount of reading/listening a user may have to do.

    Also, I would like to propose cutting down the "Pages" (and potentially "Post Categories" and "Link Categories") to only top-level pages unless a user navigates to a page with children, in which case the children are displayed in the sidebar.

    In the spirit of Open Source and to give an idea of what I mean, I've created a small patch file that can be applied from within the "Access" directory in /wp-content/themes. This patch/diff only applies my suggestion to the "Pages" section as I didn't want to do too much work before being told "you're an idiot!" ;)

    I've copied a "diff" for those not wanting to use a patch file (also to see where the changes appear): http://www.stfu.org/Add_SubPages_with_SkipNav-DIFF.txt

    The URL for the patch file is: http://www.stfu.org/Add_Sub_Pages_with_SkipNav.zip

    I hope it's useful.

    Posted by: showard on April 12th, 2009 at 3:18 am

  13. Thanks showard. With regards to the suggestion of multiple skip links: this is something that has been debated for a while in the accessibility community, and the general conclusion is that it's a bad idea. It actually makes things harder for the screenreader user because it adds a bunch of extra links to wade through. Most screen reader users navigate using the heading tags, so they can already jump from "pages" to "categories", etc. in one click. I'm also pretty sure they can skip sub-menus in one click, but I'm not positive.

    Head over to the WebAim website (posted on the links page), I think they have the results of a survey of screenreader users that explains more about this and why it's not recommended.

    Posted by: dean on April 13th, 2009 at 5:00 pm

  14. Dean -

    Thanks for the information. I didn't realize they'd conducted and posted surveys on screen-reader technologies. Like I said, I'm not a web designer, I can only hack away at existing markup (poorly at that.) After finding the survey (http://www.webaim.org/projects/screenreadersurvey/ for anyone else wanting to access the results), it stresses the importance of properly using headings within posts (which I was aware of but didn't realize screen reader users relied heavily on them.)

    Another suggestion I can offer comes with the use of images within posts. It's inconclusive according to the survey on how images should be captioned and whether screen reader users prefer having images, but what about a "text only" or "screen reader" version of the site along with the high contrast? I don't know how easy or possible it is through CSS to hide images, but it would seem like a next step.

    Many use images within their posts to enhance the content for those not using screen reading technologies. After testing with some dumped/imported content on a test bed, it seems images aren't aligned or "embedded" within the content, rather stick out like a sore thumb. The suggestion comes at the heels of making a theme that many would build on for their own purposes while maintaining the "usability" features of WP.

    Yes? No? Am I an idiot? :)

    Thanks again for the response!

    Posted by: showard on April 14th, 2009 at 9:07 am

  15. Thank you for this great theme.

    Installed the new access theme and for some reason I got this error
    Parse error: syntax error, unexpected T_STRING in /home/sites/vasilica.org/public_html/wp-content/themes/Access/inc/styleswitcher.php on line 412

    I tried different changes but none worked.

    I am using Wordpress 2.7.1 .

    Thanks!

    Posted by: cristinavas on April 17th, 2009 at 4:39 am

  16. It appears the proper CSS classes for image alignment don't reside within wp-content/themes/Access/css/default.css (or "hc.css"), rather in wp-content/themes/Access/style.css which appears to be a dummy file. Copying the wp.caption and other CSS information from the default theme into the proper files within Access/css made everything align like a dream!

    Posted by: showard on April 17th, 2009 at 6:05 pm

  17. Dear Dean,

    Thank you for your response. I tested the php and mysql my self. PHP version is 4.4.9 and mysql is 5.0.67. Any other thoughts. I wonder if anybody else got a similar error?
    Thanks

    Posted by: cristinavas on April 18th, 2009 at 3:10 pm

  18. Hi Dean,

    Thanks for response.
    The website is hosted on the root of the account. The url: http://vasilica.org/.

    You will be able to see the error as well. Really appreciate!

    Regards,
    Cristina

    Posted by: cristinavas on April 21st, 2009 at 12:50 pm

  19. Cristina: this is just a theory, but I think it may have to do with the fact that your site is enforcing a "no www" rule. In other words, If I try to go to http://www.vasilica.org/, I get redirected without the "www". The reverse is true of this site.

    I don't know if there is a way for you to turn off redirection to test it, but if you can, give it a shot and let me know if that solves the problem.

    Posted by: dean on April 21st, 2009 at 1:04 pm

  20. Dean -

    I'm sorry if I came off on the wrong foot, I am not attempt to change the development of the theme. I enjoy your expertise in the subject and want the reasons why my suggestions are bad as record so they are not disputed down the line (hopefully). I know the theme (from the docs) is designed as a "base" for designers to use to develop their own themes on an ideal of accessibility. I don't want to change that, not by any means.

    I made the suggestion of adding alignment to the CSS files for images for the masses (I'd already done it) but I do wonder why using alignment isn't good. (I noticed the "Added with protest.") I implemented the change in my dev site and noted it for those that wished to implement it, not to deter/change your plan of action.

    BTW, using the hidden input field when determining the referrer for the styleswitcher isn't good as "PHP_SELF" is always "/index.php" within WP. That hidden referrer field should be removed and let styleswitcher determine the referrer, otherwise when ever styles are switched the user is sent back to the top of the site.

    Posted by: showard on April 24th, 2009 at 1:13 am

  21. No apology necessary. I'm always open to constructive criticism.

    It's not alignment that's bad, it's classnames like "aligncenter" that are bad. ID's and class names should describe what an element is, not how it looks. If you create a class called "red-link", and 6 months down the road you want to change the color scheme, you have to either go edit all of the classnames, or keep the outdated one. If all of the sudden you want to make an image left aligned instead of center aligned, you have to go edit the html. You should be able to change the entire look and feel of your site simply by editing the css. Ergo, adjectives should not be used in names.

    You are correct about the referrer. I think I tried removing it and there was a problem. But I will try and play around with that and see what I can come up with.

    Posted by: dean on April 24th, 2009 at 2:35 pm

  22. > Is there a test site which an show people what the theme looks like?

    I've put one up at: http://access.stfu.org/

    It is a default install of WP 2.7.1 with no modifications except that I've added a single post denoting styles and looks, added categories and pages. Nothing has been modified or deleted, just added. The theme installed was downloaded about 4 minutes ago and directly unzipped in the themes directory.

    Posted by: showard on April 25th, 2009 at 7:52 pm

  23. Hello Dean,

    First I would like to thank you for what you are doing. I searched through countless themes trying to find what you have created here. However, I do not have the technical abilities that you have and had to revert back to trusty static html that I understood and could modify. It is painfully obvious Wordpress as a CMS is a no brainer, but given the choice between accessibility and bells and whistles, the blinking lights would have to wait. A friend sent to your site and I was elated. However, I have received the same error that is mentioned above.

    Parse error: parse error, unexpected T_STRING in …../html/wp-content/themes/Access/inc/styleswitcher.php on line 412

    I do not have the option to change from http:// to www. to test your theory on the fix. Any assistance would be appreciated, if you can not help because of the machinations of my server set-up I understand. Thank you for what you have done here and I hope you have continued success turning Wordpress into what it should already be. Thanks again.

    Posted by: Mayor_of_Kentonville.com on April 25th, 2009 at 11:57 pm

  24. Mayor: it looks like my theory was incorrect, because as you can see from the link in the comment before yours, someone has successfully installed it on their non-www account. I will look into this issue immediately and see if I can come up with a fix.

    Posted by: dean on April 26th, 2009 at 12:44 am

  25. Hello Dean,

    I have solved the problem by moving the website to another server and changing the Wordpress to 2.7. However, I noticed that the theme works with version 2.7.1 so that was not the case.
    Before requesting the move of the website to another server, I tried to fix the error by adding a .htaccess file with a redirection from http:// to http://www. It did not work for me.

    So not sure, may be the php and mysql version was the case of the error

    Thanks…

    Posted by: cristinavas on April 26th, 2009 at 12:12 pm

  26. Thanks for the feedback. It looks like it is definitely the PHP/MySQL issue that is the problem and that PHP5 + MySQL version 4.1+ are required for the theme switcher. I will add a note to the requirements about it, and post a new version with Stephen's switcher referer fix.

    Posted by: dean on April 26th, 2009 at 12:57 pm

  27. Another thing that would be useful would be threaded comments as I would've used it when I posted the access.stfu.org site in the earlier message.

    Posted by: showard on April 26th, 2009 at 9:13 pm

  28. Ah, nevermind, threaded comments requires javascript; perhaps in the future when it doesn't require such features be turned on in web browsers…

    Posted by: showard on April 27th, 2009 at 11:35 pm

  29. This seem to be a thread for accessibility minded individuals. So I will pose a question, if this is improper I apologize. What contact form plug-in has the most complete accessibility features? Also does anyone know a website or forum that discusses accessibility and WordPress concerns . Thank you.

    Posted by: Mayor_of_Kentonville.com on April 28th, 2009 at 8:33 pm

  30. While testing this theme I noticed that unordered lists are not indented nor show bullets. Also setting the various headings (H3, H4, etc..) does not affect text size. Are these intentional settings for reasons I do not understand or functions that I should set up myself (how)? Thanks for taking an interest in a much needed area of WordPress development.

    ~John Galt

    Posted by: JohnGaltWasRight on April 29th, 2009 at 1:32 pm

  31. John -

    I noticed it too and (though it may not be the correct way as I'm not a CSS/web designer) pasting this into the "default.css" (in wp-content/themes/Access/css/default.css) worked:

    <pre>.post ul li {background:url(../img/sprites.png) no-repeat left -400px;padding-left:12px;margin:.75em 0;color:#666}</pre>

    Note: This has to be done to both "default.css" and "print.css." As for the high contrast version (wp-content/themes/Access/css/hc.css), this line must be used until a high contrast "sprites.png" is created:

    <pre>.post ul li {list-style:square;padding-left:12px;margin:.75em 0;color:#FFFF00}</pre>

    Posted by: showard on April 29th, 2009 at 8:47 pm

  32. Oops, apparently it didn't like the "pre" tags… paste everything inbetween the open and close "pre" tags into the appropriate CSS file(s).

    Posted by: showard on April 29th, 2009 at 8:48 pm

  33. Mayor: contact forms usually aren't a problem when it comes to accessibility because they are fairly simple. I have only used one with Wordpress, so I can't tell you which one is the best. But you need to look for two things:

    1. Each field in the form needs to have a label attached using the "for" attribute like this:

    <label for="name">Name:</label><input type="text" id="name" />

    2. Captchas are notorious for being inaccessible. So I would look for one that uses Akamai to screen out spam, or one that uses a simple question (like "what is 2 + 2"), rather than an image.

    John: yes, the default theme uses a basic "css reset" to make everything the same size. If you want to modify those things, you can do them in the default.css file. To make headers bigger just do something like:

    h3{font-size:120%}

    The high contrast theme doesn't set font sizes for headers, it uses the browser defaults, which is generally what you want for accessibility.

    Posted by: dean on April 30th, 2009 at 2:42 am

  34. I've been working on a local copy of the theme fixing bugs that I've found:

    - Styles added for "blockquotes" and unordered lists + list items.
    - Page validation error when no custom fields are used on pages. Further validation errors happen when user is logged in and viewing a single post. Both fixed.
    - Removed a duplicate "Edit this Post" link.
    - Changed a forced "the_author_firstname()" and "the_author_lastname()" to "the_author()" as this setting can be managed by the users/contributors within their profile pages. Forcing the prior setting requires users to set the information in their profile *and* removes the flexibility of the "Display Name Publicly As:" dropdown menu.

    – Patch File –

    Patch files are to be used on installations that have not been modified. Patch files are created not to overwrite other files like "sprites.png" (which contains your site's logo). It can be downloaded here: http://www.stfu.org/2_1_0-to-2_1_1.patch or in zip form: http://www.stfu.org/2_1_0-to-2_1_1.zip

    Apply a patch from your shell account by copying the patch file into your /wp-content/themes/Access directory and typing: patch < 2_1_0-to-2_1_1.patch

    – Full Theme –

    http://www.stfu.org/Access-2_1_1-with-bugfixes.zip

    NOTE: Unzipping over your existing Access directory will cause it to overwrite your custom "sprites.png." Be sure to make a backup of your existing theme directory before unzipping.

    Posted by: showard on May 2nd, 2009 at 7:15 pm

  35. [...] May 30, 2009] More challenges, theme switcher, please check Semantic, Accessible, SEO Friendly WordPress Theme by Dean [...]

    Posted by: Songket WordPress Theme Review - Dani Iswara .Net on May 30th, 2009 at 5:33 am

  36. <strong>soqijebage…</strong>

    < a href=http://namelindablog.info/b5-bio-bryan/>B5 Bio Bryan< / a > …

    Posted by: soqijebage on August 22nd, 2009 at 11:35 am

  37. [...] demonstration accessibility website. Built using Wordpress it features a theme based on a design by Bushido Designs with the addition of a font sizer plugin from Permanent [...]

    Posted by: » Welcome to our website.Demo Site on April 7th, 2010 at 11:30 am

  38. [...] Surprise! Your “semantic, accessible, search engine friendly” WordPress theme is none of the abo… Tags: [...]

    Posted by: wp-popular.com » Blog Archive » Surprise! Your “semantic, accessible, search engine friendly” WordPress theme is none of the above. – Bushido Designs Web Development Blog on April 23rd, 2010 at 8:46 am