There have been some comments on the blog recently suggesting that the UAC dialog boxes in Windows Vista are not accessible and I just wanted to clear up the confusion here.
First, to set the scene though. When a user attempts to access an application or setting that requires elevated privileges to run, they are presented with a UAC prompt, the appearance of which will vary depending on the type of user they are or the type of application that is trying to run. This diagram shows the types of dialog boxes that you might see and the process flow that triggers each type:

There is also a credential prompt which will be displayed if the current user is not an administrator:

These prompts are protected from receiving communications from other applications so that malicious software cannot simulate the actions of users. This is obviously a problem for screenreaders or other applications that need to use UI Automation in order to provide interaction with the User Interface. This problem has a solution though.
In order to gain access to the UAC prompts - or other processes running at a higher privilege level - an application must be trusted by the system and run with special privileges. To make this happen the application should be built with a manifest file that includes the following elements and attributes:
<trustInfo xmlns="urn:0073chemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="highestAvailable"
UIAccess="true" />
</requestedPrivileges>
</security>
</trustInfo>
The important tag to note is the UIAccess, which must be true in order for the application to gain access to the UAC prompts.
There is an MSDN article which you should refer to for more information: http://msdn2.microsoft.com/en-us/library/ms742884.aspx