Archive for the ‘Helpful Tips’ Category

How to Hide “Required” from Visual Users, but Make it Available for All Others

Wednesday, August 27th, 2008

How do most people usually designate that a field is “Required” in a web FORM? I would think that it is with an asterisk (*) after the actual INPUT field and it is sometimes made “bold” and “RED”. There are other ways to do this that are simple, use web standards, good design principles, and are 508 compliant.

When creating a FORM you should not make all fields required. By doing that nothing stands out to the person filling in your very important FORM. If most fields are required you should state at the top of the FORM or in the directions the fields that are NOT required.

Instead of just placing an asterisks after either the LABEL or the INPUT field in a FORM for a required field as most people do. You can actually place the word “Required” within the LABEL. Of course your using LABELs for your FORMS, along with FIELDSETs and LEGENDs.

Here is how to accomplish this for a web FORM and it can be easily accomplished by using a little CSS to hide the text that a field is “Required” to be filled in. The way to do this, that I use is to make it part your input fields LABEL. Here is an example of a few lines of code on how the code might look.

<label for=“username”><em>Required<em>User Name</label>

To hide the word “Required“ you will be able to use the same CSS used for hiding “SKIP NAVIGATION” by adding a new class or stating that LABELs with an “EM“ in them will be displayed.hidden off the page.

Reminder please do not use “DISPLAY: NONE” in your CSS, since screen readers will not see it. Below is the CSS to visually hide the word “Required” from browsers.

.skip a, .skip a:hover, .skip a:visited, label em {
position: absolute;
left: 0px;
top: -500px;
width: 1px;
height: 1px;
overflow: hidden;
}

As you can see the CSS positions the link absolutely with a position of “LEFT” zero pixels and a “TOP” position of negative 500 pixels. This will allow screen readers, Blackberries, Treos, etc. to see it but not browsers. That is as long as their CSS in turned on.

You can also place extra notes or instructions for a field inside the INPUT field with lighter text that is that will not go away once you start typing in the field. This can be done by using more CSS. Below is the XHTML code to accomplish this.

<label for=“username”><em>Required<em>User Name<strong>must not contain spaces<strong></label>

<input type=“text” name=“username” id=“username” size=“25” maxlength=“50” value=”” />

The CSS to do this is fairly simple and follows below.

label strong {
color: #aaa;
font-size: .85em;
font-style: normal;
position: absolute;
top: 0;
right: -275px;}

Here is what the CSS is doing for the extra notes and instructions. It is first taking any STRONG elements within the LABEL and making it light gray color, the FONT-SIZE smaller and normal weight. After that it is absolutely positioned at the top left of the INPUT FORM field, as long as the LABEL is left or right justified to it and finally placing the information negative 275 pixels from the right of the beginning of the INPUT field.

dont’ forget to listen to your FORMs by using the Firefox extension Fire Vox. Here is an example how placing extra notes or instructions would look in a FORM, along with some “Required” field examples.

I hope this post is useful and further explains how to hide visual the word “Required” from my Accessibility presentation “Is your Website Accessible?”, please look for the most current presentation closer to the top of the list.

Key Points Learned at PodCampDC 2008

Monday, July 21st, 2008

This blog post about PodCampDC (April 20, 2008) is way over do. I noticed it in my work in progress post list. I had started the post a long time ago and decided I would still post the few items I had listed. That I after making them into full thought and not just a short scribble of a few words.

Below are the main points I took away from the day.

When creating a podcast you should have consistent branding and highlight the program or product not the people in podcast. That way if you ever have to get new people for the show it will be less likely to die.

Justin Thorp said “You should make stuff sharable across communities”. Meaning that if you have content you need to let others be able to get at it no matter the way or where they are.

It is very important to make sure to use the same name across communities (MySpace, Facebook, Twitter, blog, Mixx, Digg, etc.) so people can easily find you. When new applications/websites start up make sure to get your use name and any other user names that you are know for so other can not grab them and then start bad mouthing you or your products.

I noticed during Aaron Brazell (Technosailor.com) and Geoff Livingston’s live podcast District of Corruption some people where getting hung up on names of websites and the like. Sometimes a website may start out as one thing and then morphed into what it is today. The real important piece is the content not the name.

There were a few things that I thought could have been better and they were? Not needing two locations, meaning that I saw no point in having to get to the Spectrum Theatre an hour early just to go over to the final location after about ten minutes of announcements. The other issue had to do with having multiple five plus rooms on three different floors and having to take the stairs to get to them.

Hope these points are useful even though they are like two months over do.

Are You Using Skip Navigation?

Sunday, February 24th, 2008

Skip navigation is a great thing to have on your website for a lot of reasons. Here is a list of just a few of them the greatest ones being the first two, that they make websites more accessible to all.

  • People using screen readers are forced to listen to a long lists of navigation links, sub-lists of links, and other elements before arriving at the main content.
  • Keyboard users are forced to tab through all of the top links in order to reach the main content.
  • Main content is not usually the first thing on the page or in the source order.
  • People using Blackberries, Treos, etc. have to scroll through a huge list of links.

Now that I have listed some of the reasons for skip navigation here is the code that I use in my websites.

<body>
<div class=”hide”> <a href=”#MAINcontent”>Skip to Main Content</a> </div>

… navigation and other stuff goes here …

<a name=”maincontent”></a>
<p>This is the first paragraph</p>

Please notice that the HREF anchor has “MAINcontent” in the link part, by using “MAIN” in front of it you can still use “content” as an anchor somewhere else on the page for some odd reason. The other point to notice is that link text is “Skip to Main Content” because some screen readers or their voices might mis-pronounce the link text if it was “Skip to Content”. The screen readers have issues with the word content.

Below is the CSS that I use in my websites to not display the skip navigation link(s) accept for the first time you tab through it then after you use it it does not show up on the screen anymore. I changed the ID information from the ones used in the original article by WebAIM on how to implement skip navigation (thanks, Justin Thorp). The article uses the ID of “skip”, I figure you might want to use it hide other items or you might want to have more than one “skip” type link, so I changed it to be a “CLASS” instead of an “ID”. The reason I changed the “ID” to .HIDE from the article was so you could use the CLASSs for other things like visually hiding the word “Required” for web FORM LABELs.

Reminder please do not use “DISPLAY: NONE” in your CSS, since screen readers will not see it.

.hide a, .hide a:hover, .hide a:visited {
position: absolute;
left: 0px;
top: -500px;
width: 1px;
height: 1px;
overflow: hidden;
}

.hide a:active, .hide a:focus {
position: static;
width: auto;
height: auto;
}

As you can see the CSS positions the link absolutely with a position of “LEFT” zero pixels and a “TOP” negative 500 pixels. This will allow screen readers, Blackberries, Treos, etc. to see it but not browsers.

I hope this post is useful and further explains skip navigation from my Accessibility presentation “Is your Website Accessible?” at Refresh DC.

Another Long Frustrating and Sometimes Fun Week

Saturday, February 16th, 2008

Last week was a bit frustrating and somewhat fun at the same time.

Work was busy and somewhat of a pain. I need to get about four projects done before I head to SXSW on the 6th of March, 2008. A bunch of my users/clients want all the work completed, but do not have time to give me the necessary information or they just have no time to just review the finished work so we can move it to PROD.

On one project I finally, suggested that we put in what we had, which was about 90 - 95% of what was needed. This way they could start using the much better version of the web application instead of waiting. they agreed and next week I still have to work on three pages that are still in the old layout and then I will be done with this pass. We finally moved the new pages to PROD on Tuesday.

After work on Tuesday’s most of you know I normally go to a wine tasting/class. Well this Tuesday the Washington, DC, metro area had some really bad weather. It consisted of some rain, freezing rain, sleet, or snow depending on where you lived. So I figured I would just stay home and do stuff around the house, since people around here just need to learn to drive in bad weather. After talking with a bunch people I usually meet there, we all decided to try and make it to class, which is normally a 30 - 40 minutes drive (12 miles).

I suggested that a few of us that live near each other should carpool. I told one of my friends I would pick her up and then we would go to another friends that is on the way. They both live like two or three miles from me in different directions. I left for the first friends at like 6:45 PM, but first I had to remove ice from car. This drive usually takes ten minutes or less on a bad day, since it is all of 2.25 miles and has a few stoplights. The second half of my trip should take 15 minutes to go to our other friends place and then a final drive of eight miles (15 minutes).

Well, as you can imagine the first part took forever. I was on the phone most of the time off and on keeping everyone inlvolved informed of me progress, which was going poorly. The first three quarters of a mile went well. Once I got to the hill on Braddock Road that’s when the problems started. It took over an hour to get to the top of the hill and it is only like a quarter of a mile long. We moved about two or three car lengths about every few minutes. A few times I had to put the emergancy brake on after putting the car in neutral so I could get the feeling back to my feet. This is the one big problem with having a manual car in this town.

The second friend decided to leave without us. He got to class before I even made it half way to my other friends place. The first friend ended up having enough time to balance their checkbook, watch a full episode of “The Simpson’s”, have dinner, and do a few other things. A few people told me to just head home and call it a night. I told them it was not that easy, since the road going the other direction was backed up too, so I could not make a U turn.

Of course I did not turn around and go home, since now it had became a matter of principal.

At some point I made it to a street that I thought I could get to my friends from. I called her and had her work me through the neighborhood to her place. At one point she told me to make a right on a road that I thought was going the wrong way. She told me now that I was heading uphill I should look for some street, I can’t think of now. I told her I was headed downhill and she said “No, you I should not be”. She had gotten confused to which way I was traveling , because this street was a big loop and she normally comes in to that street another way. After I got turned back around things where just fine.

I then picked up my friend at her place and the last part of the trip to wine class was like ten miles and took all of 18 minutes to get there. Even the Key bridge (named after Francis Scott Key the same guy that wrote the “Star-Spangled Banner”) had no traffic on it, which is really odd, since that is one of the places that I spend most of my time getting to class normally.

When we finally got to class about an hour after it started the other 15 or 20 people started to cheer that we had finally made it. By being this late we had to catch up on like three wines that they had already tried. Not that hard to do, since I could use a drink after spending almost two hours in my car.

On an unrelated note while at class my second friend mentioned that the wine blog, I started for our wine group had gotten a bit of spam comments under one of the blog posts that with the title “Two Blondes, a Brunette and Five Reds - Big Bodacious Blends Part 1“. I have him set up be one of the authors to the blog so I don’t have to do all the work. He said he had deleted about 70 or 80 spam comments. I said I would look into it when I got home.

When I got home we had like 40 or so more comments. I had forgotten to turn Akismet on this blog for some reason, which would have made this a bit easier. So this meant I had to manually delete all the comments from the posts. Just what I wanted to do. I tried to activate Akismet and it was looking for an activation key, which I could not find the e-mail with it in it. I figured it would stop soon anyway and I was tried and needed to sleep. When I woke up early after like six hours of sleep I noticed the spamming had not stopped. I had to delete another 180 comments. What a pain in the rear.

At this point I found my Akismet activation key and got it going, but the spam continued coming. I noticed that it was just a bunch of comments that dealt with casino’s, gambling, slot machines, lounges, etc. and all coming from one I.P. address - 195.225.178.29. It is from a company called “RIPE Network Coordination Centre” in Amsterdam, NL. It finally stopped after like a day and a half. At this point Akismet had stopped about 100 or more comments by Thursday afternoon. I still do not get why comment spammers do this.

The fun part of the week was when about five other single friends (four women, my buddy, and myself) of mine got together on Valentine’s Day at my friends house to have nice relaxing evening. The night consisted of a bunch of appetizers the rest of us brought, that included champagne (really sparkling wine from France), shrimp with cocktail sauce, shrimp cooked in basil pesto sauce, a bread bowl with different types of flat breads, crackers with pate, olive spread, and a cheese spread.

Once all that was done we got to the dinner part, which was just fabulous. We started the meal with a roasted pumpkin soups shooter with one shrimp. Next we got to the dinner, which was filet mignon seared and placed in a beef stock, shallot, and course ground mustard sauce. With all this we had broccoli rabe and roasted fingerling potatoes. During dinner we drank three different years of the same wine the same producer from Argentina.

The following is the list of wines we had during the evenings events in the order that we had drank them.

  • NV - Kirkland Rose Champagne
  • 2000 - Concha y Tora Don Melchor Cabernet Puente Alto - Chile
  • 2001 - Concha y Tora Don Melchor Cabernet Puente Alto - Chile
  • 1999 - Chateau Lalande Saint-Julien
  • 2004 - Concha y Tora Don Melchor Cabernet Puente Alto - Chile

If all this was not enough my buddy was reading reviews about the wines from the internet. He mentioned that the second wine we had was similar to French wines from the Saint Julian region. One of the women that was there said something to the effect of I have never had one of those. So what did my buddy do, he went to where he stores his wines and brought out a 1999 of one of them. Great wine drinking just wonderfully now.

We finished the the night off with a flourless chocolate tart with home made fresh whipped cream and a dusting of coco power. the final thing to top off the evening was my friend had made each of the women a box of home made chocolate truffles. He had asked me to get a single rose for each one , which I told him I had thought of doing. From what I heard from all the women these two things topped off and already perfect night.

Now that the fun is done it’s back to work projects. I moved my second project’s the code into PROD on Friday without any error checking, since it is only used by one maybe two people. I figured that they can be careful for a few days while I get that done. The only reason I’m doing it this way is they really need to get to entering information into the system and they know they should enter information for every field and there is field formatting examples as part of the LABEL text. Now I can get going on two other projects and at least move the new and improved code for now. There is still going to be a second phase to add new fields, reports, and functions in the near future (after SXSW) anyway.

Last night (Friday) I went back and checked to see if the spamming had stopped and of course it had started again. Now they are trying to post to another one our spots that has the title “Two Blondes, a Brunette, and Five Big Bodacious Reds Redux“. We are now up to almost 700 spam comments from them stopped by Akismet, since Wednesday morning, plus the 250 or so we manually deleted. They are spamming the website every four or five minutes from different websites and blog posts, but the same I.P. address.

So in conclusion if you want to get your blog post comment numbers really high without having to write a really lot of ground breaking information and not getting hit by Mixx, Digg, or Slashdot, just have a post titled with the words “Two Blondes and a Brunette” in it. By writing about this subject I could be asking for comment spam on this blog too.

Have any of you had similar stories of getting spammed, just because of a blog post title? If so what did you do to stop it?

Further Explanation of My Accessibility Presentation

Friday, January 25th, 2008

Over the next few weeks I will post in more detail different sections of my “Is Your Website Accessible” presentation.

Two of the topics I have already covered on my blog are:

  1. Use of UL or OL in HTML Forms
  2. CLiCk Speak Firefox Extension

The new ones I will be going over to an excessive degree (just kidding) are:

  1. The “Fire Vox” Firefox extension is a FREE screen reader
  2. Part of CSS3 “Say-Instead
  3. Are You Using Skip Navigation?
  4. How to Use Access Keys
  5. You Need Color and Contrast
  6. How to Create Web Standard Accessible Tables
  7. How to Improve Your Search Function
  8. How to Hide “Required” from Visual Users, but Make it Available for All Others
  9. Advanced Forms Information

Please leave a comment if you would like me to explain other items covered in my talk at greater length or even something I did not cover that deals with accessibility.