Selective Enough?

Are you being selective enough with your CSS? Maybe too much? CSS Selectors are the basis of good CSS. Inappropriate Selector choice is one of the most common sources of problems I find when troubleshooting CSS. The best strategy I know of is to start simple, and build on it. Don't start with obscure Class names, start with the type selectors. How can you define a Class meant to apply to paragraphs, if you haven't defined paragraphs? Define the basic HTML your site is built from before you add anything else.

For the sake of this discussion, let's define some simple HTML.

<div id="header"><div id="logo"><img></div><h1>Site Name</h1></div>

<div id="navigation"><ul><li><a></a></li><ul><li><a></a></li><ul><li><a></a></li></ul</div>

<div id="content><h1>page title</h1><p>content</p><p><img>content</p>

<ul><li><a></a></li><ul><li><a></a></li>

</div>

Once you've defined the basics like h1, paragraph (p) , and lists (ul, li, ol, etc.), the next step is exceptions to those basics. This doesn't necessarily mean class tags yet, we can do better. Let's start with navigation. We've defined the basic unordered list CSS for the content section, but our navigation will also be a unordered list. While applying Class tags to the navigation lists would work, Descendant selectors are a better choice. If you use the styles "#navigation ul" and "navigation ul li" you can define you basic navigation list. Want another level? Use "#navigation ul ul". Using descendant CSS selectors allows you to use clean class-free HTML. Easy to write, easy to update.

Image selectors on the same HTML would be similar. Define the basic img style, then define exceptions. In this example "#logo img" or "#header #logo img" could be the exception.

You'll see a trend here. Keep it simple. Start with the basics, get a good foundation, then build on it. Maybe class selectors will be required, but they're not the place to start.

Drupal Multi-site

The changes on this site weren't entirely for the sake of change. I've wanted to change to Drupal for a while, but I just didn't want to spend the time. WordPress was working fine and I had no real reason to change. Now I do. I've been building some other sites for family and family businesses using my personal hosting account. These sites have for one reason or another all changed to Drupal in recent months. One of Drupal's advantages is the ability to build multiple sites on the same code base. A multi-site installation. Other platforms have some form of this ability too, it's not unique to Drupal. In my case though, it was a very helpful ability. The only thing keeping me from using it, was this site. Due to my hosting structure, this site's directory was the most obvious location for an installation like this. Now that I've switched this site over, the rest of them will be moving over to share the code base shortly. As each one moves, that's one less code base I need to keep up-to-date. I have a little variability in the modules the various site's use, but it should still give me a 60% or more reduction in labor for Drupal updates. Same sites, same code, same function, 60% less work to maintain. I may be busy, but I just couldn't afford not to take advantage of a time saver like that.

Redesigned and Converted to Drupal

After a lot of thought, I've switched this site over to Drupal. I really like WordPress, and I plan to continue designing for it, but for my purposes Drupal will be a better fit. While I could have matched the new site structure to the old one, I decided to restructure. My old site map had become a little conveluted and I took this opportunity to straighten it out. I'm using PathRedirect to ease the transition, and PathAuto make the new sitemap easier the maintain.

For  those who might be interested, here's a few more details of revised site:

Change is Good

I'm in the process of making some signficant changes to this site, and I seem to have crossed feeds with another site. Hopefully this post will straighten things out. The transtion to Drupal from WordPress is underway.

Is your Social Media Audience Too Big?

Good social media tools let you get your message to everyone who has internet access, but do you need to reach the whole world? Twitter has millions of users around the World. Do you sell your service around the World?

If you provide a local service, you might need a more local audience.  Maybe you should consider a blog, rather than a micro-blogging service like Twitter. You could still use twitter to advertise the blog, but focus the blog on a more local audience. You might also consider local forums or a more regional social media outlet. There isn't a local social media outlet? Make one! There are a lot of social media tools that available. Need a blog? Self-hosted Wordpress is a good choice. Need forums? Drupal can easily give you forums, blogs and much more. Do you really think Twitter is the best option? Have you considered Status.Net? Status.Net is a micro-blogging platform like Twitter, that you control.

Social media tools can be wonderful things. If you use the right tools, you can make sure they work for you, and not the other way around. Maybe the right choice for you is to stick with the social media giants, but be aware that there are choices. Should your social media strategy target a world wide audience? Maybe. Should you target a local audience? Definitely. Maybe the right choice is all of the above.

What do you think about regional social media? Leave me a comment, and let me know.

Accessibility - W3C

W3C has a new accessibility section. It does a nice job of unifying their accessibility content into one location. The home page has a great explanation of the three W's of accessibility. Why, What, and How. (Two W's and an H just doesn't have a nice ring to it.)

"The Web is fundamentally designed to work for all people, whatever their hardware, software, language, culture, location, or physical or mental ability. When the Web meets this goal, it is accessible to people with a diverse range of hearing, movement, sight, and cognitive ability." - Accessibility - W3C

Recovery.gov Relaunched

Relaunched Recovery.gov Fails Accessibility Standards

"It is unfortunate that recovery.gov, in its technical implementation, fails to meet long-standing, widely understood accessibility requirements."

I didn't think much of the previous version of recovery.gov, and it looks like I likely won't like the new version either. They're quite pretty, but poorly handled data tables and image maps really doesn't sound promising for accessibility.

To Twitter... or not

An interesting tweet came across my desk today. Made me think about why I like some Twitter marketing campaigns, and dislike others.

"Look at a company, then strip Twitter away. What’s left? That’s when you see who is social and who just jumped on a trend. via @mediaphyter" - @baekdal

The difference between the marketing campaigns I like, and those I dislike is what happens when you strip away Twitter. Twitter shouldn't be the product, but a tool that directs people to the product. Use Twitter just to be social, or use it to highlight content that you have elsewhere. Use it for both.  Do not use Twitter as the sole repository of your priceless content. It's a poor choice for that. It's not very search friendly, and it's time sensitive. What you tweet today will be seen today, and maybe tomorrow. It probably will never be seen after next week. So if social media and micro-blogging interests you, by all means give Twitter a chance. Just remember, Twitter can be interesting, and it can be fun. It can be a wonderful tool to drive traffic, but it's a poor choice for publishing content.

Online Accessibility Testing Tools

Interested in testing the accessibility of your site? Here's a couple of free online tools that will get you started.

You might also try the Firefox Accessibility Extension by the Illinois Center for Information Technology Accessibility, or the Web Accessibility Toolbar by Vision Australia.

Accessibility Blogs

Webaim has a round up of accessibility blogs. Got take a look at the Accessibility Blog Roundup.

Syndicate content