<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Fixing an accessibility bug with the trackbar common control</title><link>http://blogs.msdn.com/b/larryosterman/archive/2009/01/27/fixing-an-accessibility-bug-with-the-trackbar-common-control.aspx</link><description>The trackbar common control is a strange beast. 
 The trackbar can be oriented either horizontally or vertically. On LTR language machines, when the trackbar is horizontal, it works much as you’d expect it to: The minimum value of the trackbar is on</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: Fixing an accessibility bug with the trackbar common control</title><link>http://blogs.msdn.com/b/larryosterman/archive/2009/01/27/fixing-an-accessibility-bug-with-the-trackbar-common-control.aspx#9412086</link><pubDate>Wed, 11 Feb 2009 08:30:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9412086</guid><dc:creator>nobugz</dc:creator><description>&lt;p&gt;They *did* fix it, Minimum is at the bottom. &amp;nbsp;But, they forgot about TBS_REVERSED. &amp;nbsp;Will you tell them?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9412086" width="1" height="1"&gt;</description></item><item><title>re: Fixing an accessibility bug with the trackbar common control</title><link>http://blogs.msdn.com/b/larryosterman/archive/2009/01/27/fixing-an-accessibility-bug-with-the-trackbar-common-control.aspx#9383931</link><pubDate>Fri, 30 Jan 2009 03:15:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9383931</guid><dc:creator>Larry Osterman [MSFT]</dc:creator><description>&lt;p&gt;Actually I don't know why the .Net folks didn't fix this - their forms version of the common controls have a number of changes from the stock controls, I suspect they could have fixed it.&lt;/p&gt;
&lt;p&gt;But they might have wanted to make it easier for unmanaged developers who were used to the control working in the unmanaged way.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9383931" width="1" height="1"&gt;</description></item><item><title>re: Fixing an accessibility bug with the trackbar common control</title><link>http://blogs.msdn.com/b/larryosterman/archive/2009/01/27/fixing-an-accessibility-bug-with-the-trackbar-common-control.aspx#9383899</link><pubDate>Fri, 30 Jan 2009 02:52:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9383899</guid><dc:creator>Jiri Dvorak</dc:creator><description>&lt;p&gt;Sorry I did not meant to offend you. I understand that there likely was reasonable reason for that decision at that time (btw. I did some checks after that post and the reversing is more complicated that I initially thought because of the ability to change the range at any time, even to invalid values). Just few days ago I tried to find trackbar reversing within the .NET framework. I did not found anything (not even equivalent of the TBS_REVERSED style). So this article hit me on sensitive spot, sorry.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9383899" width="1" height="1"&gt;</description></item><item><title>re: Fixing an accessibility bug with the trackbar common control</title><link>http://blogs.msdn.com/b/larryosterman/archive/2009/01/27/fixing-an-accessibility-bug-with-the-trackbar-common-control.aspx#9383788</link><pubDate>Fri, 30 Jan 2009 01:24:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9383788</guid><dc:creator>Larry Osterman [MSFT]</dc:creator><description>&lt;p&gt;Jiri, please let me know when you get your time machine working so I can go back to 1999 (that's when this field was introduced) and let the developers of the common controls know that they're making a mistake. &amp;nbsp;They'll then be able to explain to me exactly why they didn't do it your way.&lt;/p&gt;
&lt;p&gt;At this point it's a historical issue only. Sorry.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9383788" width="1" height="1"&gt;</description></item><item><title>re: Fixing an accessibility bug with the trackbar common control</title><link>http://blogs.msdn.com/b/larryosterman/archive/2009/01/27/fixing-an-accessibility-bug-with-the-trackbar-common-control.aspx#9383774</link><pubDate>Fri, 30 Jan 2009 01:14:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9383774</guid><dc:creator>Jiri Dvorak</dc:creator><description>&lt;p&gt;Why to do complex changes to internal implementation? I think that that having the control reversing the value when it is set and retrieved should be sufficient. Or I am missing something?&lt;/p&gt;
&lt;p&gt;Also I do not think that this is the right kind of tradeoff to make. If done in the control, it would be implemented and verified once. Otherwise it is replicated in thousands of programs.&lt;/p&gt;
&lt;p&gt;The additional thing is that having the flag do some &amp;quot;real&amp;quot; functionality would increase chance that it is really used. When it is only indication for the accessibility framework, chance that it will be properly set (or even used at all) decreases unless the developer really cares for accessibility of its program to check this.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9383774" width="1" height="1"&gt;</description></item><item><title>re: Fixing an accessibility bug with the trackbar common control</title><link>http://blogs.msdn.com/b/larryosterman/archive/2009/01/27/fixing-an-accessibility-bug-with-the-trackbar-common-control.aspx#9383338</link><pubDate>Thu, 29 Jan 2009 19:34:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9383338</guid><dc:creator>Larry Osterman [MSFT]</dc:creator><description>&lt;p&gt;Marcel, that might be the case. &amp;nbsp;On the other hand, it's a tradeoff. &amp;nbsp;It's not just &amp;quot;some locations&amp;quot; that would have to be updated in the control, I suspect the control has a lot of stuff that compares the current value with the max value to figure out positions and sizes. &amp;nbsp;So you're trading off complexity in the control's implementation with ease of implementation on the part of the controls users. &amp;nbsp;And the developers who write with the control are already used to this complexity. &amp;nbsp;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9383338" width="1" height="1"&gt;</description></item><item><title>re: Fixing an accessibility bug with the trackbar common control</title><link>http://blogs.msdn.com/b/larryosterman/archive/2009/01/27/fixing-an-accessibility-bug-with-the-trackbar-common-control.aspx#9383314</link><pubDate>Thu, 29 Jan 2009 19:13:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9383314</guid><dc:creator>Marcel</dc:creator><description>&lt;p&gt;Of course I'm only suggesting that the new flag, which was introduced anyway, changes the semantics. &amp;nbsp;Old stuff works as expected. New stuff has to set the flag anyway. And regarding the internal complexity, what's more to it than &amp;nbsp;replacing &amp;quot;currPos&amp;quot; with (paraphrased) &amp;quot;(flags &amp;amp; TBS_REVERSED)? maxPos-currPos: currPos&amp;quot; at some locations? It's just what the programmer had to do outside of the control anyway put inside of it.&lt;/p&gt;
&lt;p&gt;The only reason I can imagine why it was done this way: after the accessibility problem was found, the flag was added as a quick hack so that old code that already employs the &amp;quot;max-curr&amp;quot; trick did not have to be changed on the expense of a clean design.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9383314" width="1" height="1"&gt;</description></item><item><title>re: Fixing an accessibility bug with the trackbar common control</title><link>http://blogs.msdn.com/b/larryosterman/archive/2009/01/27/fixing-an-accessibility-bug-with-the-trackbar-common-control.aspx#9383181</link><pubDate>Thu, 29 Jan 2009 17:55:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9383181</guid><dc:creator>Larry Osterman [MSFT]</dc:creator><description>&lt;p&gt;Marcel: Changing the semantics of the control means breaking every single existing application that uses the control. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;I'll take adding hint for the accessibility tools instead of breaking applications.&lt;/p&gt;
&lt;p&gt;They could have made TBS_REVERSED change the semantics of the control, but if they did that it would dramatically increased the complexity of trackbar implementation (assuming that my guess about the implementation is correct). &amp;nbsp;And that in turn would increase the chances of bugs in the trackbar.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9383181" width="1" height="1"&gt;</description></item><item><title>re: Fixing an accessibility bug with the trackbar common control</title><link>http://blogs.msdn.com/b/larryosterman/archive/2009/01/27/fixing-an-accessibility-bug-with-the-trackbar-common-control.aspx#9383055</link><pubDate>Thu, 29 Jan 2009 15:46:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9383055</guid><dc:creator>Marcel</dc:creator><description>&lt;p&gt;So, instead of creating a flag TBS_REVERSED that just switches the orientation internally in the control and be done with it once and for all, every programmer has to switch the direction manually outside of the control AND set a new special flag TBS_REVERSED that does nothing by itself, but is then in turn interpreted by a special case in the accesibility framework that then tries once more to immitate the additional calculations the programmer had to do.&lt;/p&gt;
&lt;p&gt;That is... mind boggling one many levels.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9383055" width="1" height="1"&gt;</description></item></channel></rss>