Presenting at CSUN, The 2004 Technology and Persons with Disabilities conference

I’m presenting at CSUN, the 2004 Technology and Persons with Disabilities conference.  From the CSUN website,

“Never before has building accessible applications been such an important aspect of a developer’s job as it is today. In this talk, we’ll explore how Microsoft is working to assist developers in building accessible Web applications more effectively. This presentation will also include a product demonstration using GW Micro’s “Window-Eyes”, as well as a preview of the accessibility enhancements planned for the next version of Visual Studio (codenamed “Whidbey”).  Sara Ford and Brian Goldfarb, Microsoft, Redmond, WA”

You can find out more information at the 2004 General Sessions Search page by searching for Wednesday “all inclusive” sessions.  In the returned list, you’ll find our “Accessibility in Visual Studio ("Whidbey") and ASP.NET“ presentation.

See you there <grin>

First night back in Karate

<i’m moving this post to the new karate category>

Last night, I had my first karate class in about eight years.  Back in the day, I was a 1st kyu brown belt (the next rank is black) who had participated in regional and national competitions.  I was told that you don’t ever lose rank, but I don’t think whoever said that had ever tried to get back into karate after a long hiatus. I was out there trying just to keep up with the white belts.  The toughest thing will be retraining my body to tense and relax at precise moments.  I was having a hard time keeping up, because i was way too tense too often.  I wasted a lot of energy and got overheated way too quickly.  The worse part about starting over is that your mind remembers what to do, but your body does something totally different.  I never thought I would be exhausted after doing just a few beginner katas. I’m not too sore today, but I am sore enough. It’s going to take awhile for my calves to forgive me for the abuse.  By summer, they’ll take me for their new look.

Going back to class reminded me of some great moments from my former club in Mississippi, including

  1. 50 karate students practicing our bo’s out on the beach in the sunset
  2. Losing my first (and only) sparring match at Nationals 5 to 6. I cried my eyes out on the side of the mat when I realized that an entire year’s worth of daily training was over in less then 3 minutes. Much later on in life, I realized that the daily training was its own reward, not any medal at any competition. Hey, this speech worked for the soccer team I coached when they lost the semi-finals in the state championships. =)
  3. Being able to do 750 sit-ups nightly. Seriously. It was my way of dealing with high school.
  4. My former sensei in Miss. had to pause one of my free sparring matches because my mom started hyperventilating. It was for purple belt, so it was at full speed. Later, she told us that all she could think about was how much money she put into my braces.

I really like this new dojo.  The people are very friendly, and the atmosphere is very comfortable. The sensei allowed me to wear my brown belt in the beginner class, which makes me train harder, because I know other students are going to look at me for an example.

I can do 25 sit-ups comfortably right now. Just 725 more to go =)

Questions and answers about AA naming your control

I’m often asked “What’s the correct name for this control?” There are many variations to this question, for example:

  1. Does this control need an AA name?
  2. Do we change the AA name if a control’s caption or label changes?
  3. Do we add the AA description to the AA name, in order to “force” the screen reader to read it?

Yes, yes, and no.

Explanation #1

All controls need to have a name, unless explicitly stated in the MSAA SDK. For example, a Win32 standard status bar does not have an AA name, but its children must support name. This is the only exception to the “always supply an AA Name” rule that I can think of off the top of my head. If you’re writing in managed code (.Net Framework), always supply an AA name. Consider it an ounce of prevention.

Explanation #2

Consider Visual Studio .Net’s New Project Dialog’s more/less button. Note that the caption changes based on the state of the button. I was asked if users would be confused if we changed the AA name for the control. It seems to me that it would be even more confusing if we didn’t. Imagine interaction with a more/less button that when toggled, still said “more”. This reminds me of that bad junior high school joke where you write on both sides of a sheet of paper, “How do you keep a <insert profession here> occupied? Answer on other side.”

Explanation #3

I’ve studied the MSAA SDK guidelines for quite some time now (long enough if AA properties were GUIDs, I’d have them memorized), and I’ve come to the conclusion that the AA Name must match whatever it is on the screen, with the following exceptions:

  1. The caption is a picture, hence requiring a textual name
  2. The caption or label is not unique to the dialog or form, hence requiring additional text.

Any other additional information required to explain what this control does must be provided via the AA description. That’s what the MSAA SDK guidelines say to do.

Having said all of this, remember we’re supporting “screen reading” technology. I say screen reading in quotes to draw attention to the literal notion of what we are supporting. If the AA Name didn’t match what was on the screen, are we really providing a way for a screen reader to read the screen?

Talk to me if you use Visual Studio and Accessibility Features and/or Assistive Technologies

If you’re using Visual Studio and Accessibility Features and/or Assistive Technologies, please share with me your experiences.  Feel free to leave comments here with any issues, concerns, or bugs you’ve encountered.  This request has always been implied, but I thought it best if I made sure people were aware that they could use this blog as a forum for letting me know their experiences.  If you haven’t noticed already with previous posts, I’m committed to making Visual Studio .Net the best Integrated Development Environment for all programmers.

You will receive belated holiday cards from me (seriously!) if you can describe any customizations you make to Visual Studio, because of the Accessibility features / Assistive Technologies you are using.  For example, suppose you are using a screen reader, but you notice that every time you perform a build, the output window appears and the screen reader starts reading information you’re not really interested in hearing.  So, you customize Visual Studio to not show the output window during a build.  I’m interested in any and all Visual Studio customizations that you are making.

Accessibility Features include, but are not limited to, the following:

  • High Contrast (Control Panel – Accessibility Options – Display Tab)
  • Large Fonts or Extra Large Fonts (Display Properties – Appearance Tab)
  • Sticky keys (Control Panel – Accessibility Options – Keyboard Tab)

Assistive Technologies include, but are not limited to, the following:

  • Screen Readers
  • Screen Magnifiers
  • Braille Displays

My offer still stands about the holiday cards. =)

View original comments

Visual Studio Window Docking

As I’ve mentioned in my previous post, I’ve decided to use this blog to talk about topics besides Accessibility.  I’ve just recently taken ownership of window docking in Visual Studio, including tool windows and files opened in the editor space.

In VS 2002, 2003 (Everett), and Whidbey Alpha, window docking includes tool window docking, undocking, auto-hiding, floating, and so forth.  In Whidbey Alpha, we’ve introduced docking targets.  These targets allow users to quickly figure out how to drag and drop tool windows to new locations.

Feel free to leave comments here on your thoughts about our window docking model, especially any bugs or issues that have bothered you in past releases.

View original comments

Whidbey VS Settings Category Created

I’ve finally made up my mind to blog here about other VS features, instead of just Accessibility.  Note that I’m not calling Accessibility a feature by any means.  Accessibility is just like Localization, Security, Logo, and so forth – it is a standard.  Feel free to contact me or comment here if you disagree =)

Visual Studio .Net codename Whidbey has a new feature called VS Settings. Using the Tools – Import / Export Settings dialog, users will be able to import and export their settings. Also, by using the Tools – Options – Import / Export Settings Page’s Always Save option, users will be able to not only keep an updated copy of their current settings on file, but also keep settings on multiple machines in sync by pointing to a network path.

I owned testing this aspect of the VS Settings feature from the first spec reviews to Alpha release.  The developer for this feature, Tim, has promised a blog posting on VS Settings.  We’ll just have to wait for it on Tim’s new msdn blog.   Tim’s an awesome developer, so if it takes him a while to blog on it, it is just because he’s writing code. =)

View original comments