Accessibility Concerns

time to read 3 min | 504 words

Kelly Stuard called me out with regards to the NH Prof user interface:

I'd just like to weigh in and say that I am completely against the WPF-murder of this application's UI.  There are several hundred reasons to go away from the OS's colors and standard dialogs; I do not see a single one here.

In choosing to shove your choices upon your users you are potentially alienating people who may need a particular color contrast or text size(color blind / low vision) or need to only use the keyboard (blind with reader).

It looks very sexy, I will admit.  However, it is a piece of software I want to *function* very sexy; that is its only job, in my mind.  I want it to look just like every other application and respond to my OS changes just like every other application.

There are a few reasons that we chose this particular look & feel for the application. One was branding, I wanted the application to remind people of my blog*. The second was that this UI allows us to express a lot of things in a concise fashion while keeping it pretty. The third was that it allows us to create pretty UI.

That may seem like an inconsequential point, but it is actually very important. UI sells, period. And good UI sells more than black on gray that is what going with the OS scheme would give us. I am building this application to sell it, and as such, anything that increase the sales count is a huge plus for me.

Now, am I alienating people that would prefer to have a different color scheme? Am I alienating people with screen readers?

Probably so, I am afraid to say. But that is, again, a conscious decision on my part.

There are ways that we can improve the situation for that scenario, such as providing an alternative color scheme or one that pick up the user's system colors. WPF also contains the hooks to make applications friendly to screen readers, so that is possible as well.

But that isn't going to be in version 1.0. I am not sure that it will be in the product at all, for that matter. It is a very simple matter of considering the ROI. Doing something like that is going to take resources that I can invest in other features. In order to justify doing this, I need a big enough user base that require this functionality.

At the end of the day, I need to be able to pay the bills. And considering the target audience of the NHibernate Profiler, I don't think that this is a Must Have feature for v1.0, and it is a feature that will be triaged along with the others for vNext.

* Funny how what seemed like a trivial decision four or five years ago, choosing color scheme for the site, turned out to have such huge implications for the rest of my software.