views:

38

answers:

1

When I create a custom dialog in WiX, I put elements down in the order "Text" "Edit" "Text" "Edit" et. For example:

<Control Id="NameText" Type="Text" X="25" Y="50" Width="100" Height="10" Text="Enter Name:"/>
<Control Id="NameEdit" Type="Edit" X="25" Y="60" Width="100" Height="15" Text="jo_bob55"/>
<Control Id="AgeText" Type="Text" X="25" Y="80" Width="100" Height="10" Text="Enter Age:"/>
<Control Id="AgeEdit" Type="Edit" X="25" Y="90" Width="100" Height="15" Text="0"/>
<Control Id="ColorText" Type="Text" X="25" Y="110" Width="100" Height="10" Text="Enter your favorite color:"/>
<Control Id="ColorEdit" Type="Edit" X="25" Y="120" Width="100" Height="15" Text="red"/>

However, when I run the installer, and listen to it in Windows Narrator (or look at it with UI Spy), the elements will be in the order

  • NameEdit
  • AgeEdit
  • ColorEdit
  • NameText
  • AgeText
  • ColorText

The secondry problem is that if there is a banner image (let's call it BitmapBanner, text field WiXUI_Bmp_Banner), then all my edit boxes will be listed as "LabledBy" in UI Spy, and Narrator will read "WixUI Bmp Banner Edit, WixUI Bmp Banner Edit" multiple times.

Looking at other MSIs in UI Spy, I don't appear to be the only one having this issue (try the Steam installer language selection screen in UI Spy - guess the flag names).

I guess my question is: can I fix this, or is this a fault in WiX 3.0?

+1  A: 

I'm guessing that the order used by accessibility software like Windows Narrator is the same as the tab order of the controls. Windows installer reads this order from the Control_Next column in the Control table in your installer.

Judging from the Control element documentation, it looks like Wix does not have an XML attribute to explicitly set the value for this Control_Next field (though you can use the TabSkip attribute to force it to be empty).

I would open up the MSI file with Orca and take a look at the Control_Next column of the Control table. If you can confirm that these values aren't in the expected order, then at least you know the problem is in wix.

You might also want to take a look at the Accessibility documentation for Windows Installer.

Wim Coenen
I'd vote up if I had enough reputation to do so.I checked the .msi in Orca, but the elements are in the RIGHT order. However, if I go to Dialog Preview, and check the result in UI Spy, then the order is messed up again. Heck, in Orca, the text description of my edit boxes is even correct. There probably isn't a solution to this, methinks.
Chris65536