“Say-Instead” Part of CSS3

Again while in Austin, Texas, I was talking with Charles L. Chen about his CLiCk Speak Firefox extension and he showed me that by using the new CSS3 property called “say-instead“, which is used to allow screen readers to pronounce words or phrases correctly. Listed below is a few examples of phrases you might use in your posts, which a screen reader would pronounce incorrectly.

The first part of the line is the way you typed it and the second is the way it should be spoken.

  • Dr. Kapp versus Dr. Cop
  • Homepage versus Home Page
  • Pope John Paul II versus Pope John Paul the Second
  • Rocky II versus Rocky 2
  • Godfather II versus The Godfather Part 2

If the say-instead property were officially part of CSS3 and available to use in browsers you would have to add to your CSS file the different classes for each set of words or sets of words you want to have said properly. A few examples of this would be as follows:

.sayinstead_drkapp { say-instead: “doctor cop”;}

.sayinstead_homepage { say-instead: “home page”;}

.sayinstead_popejp2 { say-instead: “Pope John Paul the Second”;}

.sayinstead_rocky2 { say-instead: “Rocky Two”;}

.sayinstead_godfather2 { say-instead: “The Godfather Part Two”;}

 

The way you need to get these to work is put a <SPAN> tag around each set of words that needs to have the “say-instead” text read out loud. Below is the example of the code:

  • Dr. Kapp versus <span class=”sayinstead_drkapp”>Dr. Kapp</span>
  • Homepage versus <span class=”sayinstead_homepage”>Homepage</span>
  • Pope John Paul II versus <span class=”sayinstead_popejp2″>Pope John Paul II</span>
  • Rocky II versus <span class=”sayinstead_rocky2″>Rocky II</span>
  • Godfather II versus <span class=”sayinstead_godfather2″>The Godfather II</span>

 

I’m spent a bunch of time trying to get this to work in this post and was having trouble, I think part of the problem is that I’m trying to do this inside of WordPress. I created an example on my website to use as the test example for the “say-instead” CSS3 property.

Here is the example created by Charles L. Chen on his website for the “say-instead” CSS3 property. Please give the example page a try by using a screen reader such as JAWS, Window-Eyes, or the Firefox extension Fire Vox created by Charles L. Chen. See my post for more details about Fire Vox.

I hope this information is helpful while building your websites and trying to make them as accessible as possible.

Further Explanation of My Accessibility Presentation

Over the next few weeks YEARS, 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. How to Hide “Required” from Visual Users, but Make it Available for All Others
  6. You Need Color and Contrast
  7. How to Create Web Standard Accessible Tables
  8. How to Improve Your Search Function
  9. Advanced Forms Information
  10. Improve Your “Return to TOP” of Page Link

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.

Long Week in Technology Last Week

It’s been a long week in technology for me this week. I spent about five or six hours on both last Saturday and Sunday working on the website for my accessibility talk for the Refresh DC meet up on Thursday night. This is the prototype for the DC Tech Skills website I’m building so the Washington, DC, technology community can post their skills and then find others that either have the same skills or might need help on projects for skill they need.

Monday was long day at work  with one meeting that ended up needing a few changes and a few other meetings were canceled. The rest of Monday night was spent updating the “Accessibility“ slides I had prepared for “BarCamp DC“ talk back in mid August, 2007.

Tuesday was spent working on getting stuff ready for a move of code to PROD, which never happened. I took a few hours off in the beginning of Tuesday night to go to the “Opportunities & Challenges of the One Laptop Per Child (OLPC) Project” meet up. It was really cool to be able to get to use some of the other features of the OLPC has besides the internet. We had a “Chat” going  and afterwards demonstrated the “Write” and “Memorize” activities to people. Then it was home for about three more hours of presentation work.

Wednesday was filled with meetings and luckily a few were canceled. I’ve had more meeting in the last few days than I normally have in a month. I got approval to move code to PROD for one project. I have like two others that just need user/client review and approval and I’m good to go to PROD.

I got home from work around 5:00 PM and started working on  the final dozen or so slides. Things were going well so I took an hour off to watch the Discovery Channel. I forget what the show was, but it must have been good that i took and hour off to watch it. Once that ended I started back on the presentation. The first thing after the TV show my laptop would not type. There was a problem with the keyboard. I saved things and re-booted.

Around 12:15 AM my keyboard  stopped working a second time. I used the mouse to save everything before re-booting the PC.  The only problem was that it never re-booted. At that point I guess I must have said a few four letters words, since I had not uploaded a copy of my presentation to the server or made a backup in over a day.

After walking into the living room and then the bedroom to try and figure out what I might have to do next. I remembered my friend from Rochester, NY, saying that COMPAQ laptops sometimes won’t re-boot if you have them plugged in all the time and don’t let the battery drain every so often.

So the first thing I did was take the battery out and just used the power cord and that did not work. Next was put the battery back in and unplug the PC and that worked. First thing after twittering about the problem now at like 1:45 AM I put a copy of everything on the server, and two different thumb drives. By 1:00 AM, I was back and finishing the presentation.

I ended up finishing it around 2:15 AM and spent the next bit of time re-copying the updated information to the server, thumb drives, and into another folder on my machine. It was then 2:30 AM and I tried to get to sleep but was to wound up. Finally went to sleep after 3:00 AM. The latest night in five days. All the other nights it had been between 1:00 and 2:00 AM.  I’m getting to old to stay up five night that late.

Thursday morning it started sinking in that close to 100 people were now going to show up to listen to me talk about accessibility. It was just a bit surreal, since when I was at SXSW 2007, I went to most of the accessibility talks and only 50 or 60 people where there to listen to the likes of Derek Featherstone, Ian Lloyd, Patrick Lauke, Glenda Simms (Glenda the Good Witch),  and many others.

These people are proven accessibility experts. I felt like just some guy from Washington, DC consulting for the Army that is really passionate about accessibility.

I had sent the link to two friends to look over early in the morning. I got some feedback from one that I should run the presentation through a spell checker. I said it’s hard when it is done using “S5“, which is HTML based. A guy from the office said paste it into word and run it through, while overriding the code parts. I did this over my lunch. My friend read the whole thing over during his early lunch and liked most of it.  He thought the topic might be to long to get done in the hour I had along with a few other suggestions to improve it some. While on my lunch I made most of his changes along with using a bit of his wording, since it made more sense than what I had first written.

One of the people from work noticed that my accessibility talk was the most popular event on Upcoming for the DC area that day. Once I looked it up I got rid of the DC part and looked and it was the third most popular event  for that day anywhere in the world. The first place event was a  new Flickr feature meet up in San Francisco and then a “MacWorld” meet up in San Francisco. Our event was even about 25 people larger than the London “Pub Standards” meet up. This was just unthinkable to me. It put me in a bit of a panic most of the morning and early afternoon.

After the lunch of updating  my presentation I was much better and the panic slowly went away. The rest of the afternoon flew by because I had to finish some work and move other things to PROD server.

I headed home around 4:30 PM to pickup my computers and get to the Refresh DC meet up early to make sure everything was ready and working correctly. By this time it seemed like everything was okay and I was relaxed on the Metro trip there.

I guess I finally realized I had been thinking about this presentation for the last few months and what I wanted to present. So when it finally came to doing the presentation all the stress, lack of sleep, and everything just went away.

I thought the presentation just flowed out of me. Part way through the presentation I asked the audience if I was going to fast and if they were understanding it. They said no my pace was fine and that yes they understood my talk. I thought I was talking like a million miles a minute. At another point I asked how long it had been and they said like twenty minutes. I was not sure if that meant I had talked for that long or that was how much time I had left.

I got to questions around 8:14 PM (I looked at the computer clock). I guess I had kept the presentation to close to an hour, since we waited a little bit because of the poor weather (snow with rain at rush hour). During the question time I took two photos of the audience of about 50 or 60 people, while someone was answering an audience members question that I had no experience or answer for.

After the talk and then at Cafe Asia everyone I talked to really like the presentation and had only good things to say to me about it and this was other people than my friends.

Now for the general overview of my talk, for those that might have missed it.

  1. Explained a few personal stories of why I’m so passionate about accessibility. One being seeing all the soldiers that come to Pentagon from Walter Reed Medical Center. Meeting Pat Pound at the Knowbility booth in Austin, TX at SXSW 2007. Also having Charles L. Chen show me his great free software, which are two Firefox extensions. One being a page reader called “CLiCk Speak“and the other being “Fire Vox“, which is a paired down screen reader.
  2. The next section was on using “Skip Nav” and “Access Keys” and how useful they are to people that need them.
  3. After that I then talked a bit about the “Color and Contrast” of website and that Text plays an important part of usability for everyone that is sighted.
  4. It was then on to how to build proper data tables by having a “Summary” element to explain what the table contain, along with a “Caption” of the table instead of having header in front of it. The final piece about tables was that you need table headers and then information on you cells to identify what pieces go together.
  5. We got into the longest section of the talk which was about “Forms”. I explained that you need “Fieldsets” and “Legends” to group similar content together and say what it was. The next idea was to put “Labels” and “Input Controls” in either “UL” or “OL”, so screen readers will tell you how many items are there and people will know how many fields they need to fill in. I also explained all the other “Input Controls” in a form and their attributes.
  6. I explained how the “Search” box needs to have the word “SEARCH” in front of it so you can tell what it is, along with using the word “Required” on fields. This is done using the same technique that you used for “Skip Nav”.
  7. The last thing I talked about before questions putting error messages in the label, such as “User name can not contain spaces”.

A lot of the slides have examples of code or links to other articles or my examples of items in use.

The busy technology week did not end with my “Accessibility” talk, no I attended the “DC Adaptive Technology“ talk at the MLK library Saturday afternoon. Because of the issues with Metro maintenance I was not able to stay for the whole talk. The part I did see was about using “Dragon Naturally Speaking“ some scripting code to allow people with visual issues to use Microsoft Word and other products much easier. It was cool watching the guy giving the presentation talk into his microphone and then seeing the words on the screen. By using certain commands he could start, stop, or edit the files that he was in. He could even get software to open and close.

This has been a long week in technology for me and it probably will not be the last one like it. I have also been working on a few different accessibility blog posts to be posted in the next week or so.

Please tell me of similar weeks like this you have had or if you enjoyed my presentation.

Refresh DC Accessibility Presentation – 01/17/2008

I will be giving an Accessibility presentation at the Janruary 17, 2008, meeting of Refresh DC. The following is the important information:

Thursday, January 17, 2008 7:00 PM – 8:00 PM
Greater Washington Board of Trade
1725 I Street NW, Suite 200
Washington , District of Columbia 20006

Please make sure to register on Upcoming so they have an idea of how many people are coming.

CLiCk Speak Firefox Extension

Last year while at SXSW 2007 in Austin, Texas, I spent some time at the Knowbility trade show booth and talked with a young man by the name of Charles L. Chen about his Firefox extension CLiCk Speak. I have found this extension to be every useful to me in that it allows me to listen to what my web pages sound like to a non-sighted individual. It does not have all the features of that the major screen readers like JAWS and Window-Eyes have, but CLiCk Speak at least let’s you hear the information on your pages.

The following text is an overview of CLiCk Speak from their website.

“CLiCk, Speak is designed for sighted users who want text to speech functionality. It doesn’t identify elements or announce events – two features that are very important for visually impaired users but very annoying for sighted users. It also has a simplified, mouse driven interface that is designed to be easy for users familiar with point-and-click graphical user interfaces. Like Fire Vox, CLiCk, Speak works on Windows, Macintosh, and Linux; and Fire Vox has multilingual support, making it great for users who are trying to learn a foreign language and need to hear foreign language web sites read out to them for practice.”

CLiCK Speak buttons in order left to right are 'Speak Selection', 'Auto Speak Mode', and 'Stop Speaking'

The three main features that I have used is the one that just reads down the page from the beginning of your code, so source order does matters, after pressing the “Auto Reading Mode” button. Next it has a “Stop Speaking” button so you can stop it from reading of the page whenever you want to and just push the “Auto Reading Mode” button again to resume from where it left off. The final feature is where you highlight a section of text and click the “Speak Selection” button and  it will only read that part of the page. I could see this as being useful to read a part of the page that you have just updated and wanted to make sure it sounded good. Another advantage to the highlight and read text feature is that if you wanted to go to lets say ESPN.com or CNN.com you could have it read you the article or sport scores, while the browser window is only showing in the toolbar at the bottom of your page. That is if you have headphones on, so no one finds out. It could be used by people that have English as a second language to learn English, since it also highlights each sentence as it reads them.

Charles L. Chen and company have another Firefox extension called Fire Vox. From what I have read this one is more like a normal screen reader.

The following text is a summary from the website.

“Fire Vox is designed to accommodate different users with different needs. For visually impaired users, all Fire Vox commands are keyboard activated. In addition, the keyboard commands can be easily reconfigured in the self Fire Vox Options menu to avoid conflicts with other accessibility software products or to suit personal preferences. For sighted users who need a screen reader, such as web developers interested in testing their webpages or educators who work with visually impaired students, Fire Vox’s highlighting feature makes it easy to keep track of where it is reading from on a page. This highlighting feature is also useful for dyslexic users and partially sighted users.”

While at last weekends DC Adaptive Technology meet up I talked with Patrick Timony about another free screen reader, that is called Thunder, which is free.

I have not tried the Fire Vox Firefox extension or the Thunder screen reader yet, but I plan on trying them out in the next week or so and will report back on what I have found out.

I hope these products are helpful to you in your work and can save you money by not having to get JAWS or other expensive screen readers that cost  hundreds of dollars.