Axe Windows supports the inspection of custom UI Automation properties. The custom properties for which Axe Windows should register are described in a user-supplied text file that is applied to all inspected UI Automation elements.
Custom UI Automation configuration data is specified in a JSON formatted text file, with the additional allowance for both C- and C++-style comments. The file consists of one object with the following possible attributes:
This attribute contains an array of objects, one per defined custom UI Automation property. Each property object contains the following fields, which should match the implementation of the property by the UI Automation provider:
Attribute | Description |
---|---|
guid | The RFC4122 globally unique identifier of this property. |
programmaticName | A textual description of this property. |
uiaType | The data type of this property's value, one of string , int , bool , double , point , element , or enum . |
values | If this property is an enumeration ("uiaType": "enum" ), this attribute contains a mapping of integer members of the enumeration, specified as string keys in the file, to human-readable descriptions. If the value of the property matches one of the attributes of this object, "value from object (<raw value>)" is presented as the value for this custom property. If not present, "Unknown (<raw value>)" is presented instead. |
This example file contains definitions for various Excel and PowerPoint properties.
{
"properties": [
/* Excel properties */
{
"guid": "4BB56516-F354-44CF-A5AA-96B52E968CFD",
"programmaticName": "AreGridlinesVisible",
"uiaType": "bool"
},
{
"guid": "E244641A-2785-41E9-A4A7-5BE5FE531507",
"programmaticName": "CellFormula",
"uiaType": "string"
},
{
"guid": "626CF4A0-A5AE-448B-A157-5EA4D1D057D7",
"programmaticName": "CellNumberFormat",
"uiaType": "string"
},
{
"guid": "312F7536-259A-47C7-B192-AA16352522C4",
"programmaticName": "CommentReplyCount",
"uiaType": "int"
},
{
"guid": "7AAEE221-E14D-4DA4-83FE-842AAF06A9B7",
"programmaticName": "DataValidationPrompt",
"uiaType": "string"
},
{
"guid": "DFEF6BBD-7A50-41BD-971F-B5D741569A2B",
"programmaticName": "HasConditionalFormatting",
"uiaType": "bool"
},
{
"guid": "29F2E049-5DE9-4444-8338-6784C5D18ADF",
"programmaticName": "HasDataValidation",
"uiaType": "bool"
},
{
"guid": "1B93A5CD-0956-46ED-9BBF-016C1B9FD75F",
"programmaticName": "HasDataValidationDropdown",
"uiaType": "bool"
},
{ // PowerPoint property
"guid": "F065BAA7-2794-48B6-A927-193DA1540B84",
"programmaticName": "ViewType",
"uiaType": "enum",
"values": {
"1": "ViewSlide",
"2": "ViewSlideMaster",
"3": "ViewNotesPage",
"4": "ViewHandoutMaster",
"5": "ViewNotesMaster",
"6": "ViewOutline",
"7": "ViewSlideSorter",
"8": "ViewTitleMaster",
"9": "ViewNormal",
"10": "ViewPrintPreview",
"11": "ViewThumbnails",
"12": "ViewMasterThumbnails",
"13": "ViewNotesText",
"14": "ViewOutlineMaster",
"15": "ViewSlideShow",
"16": "ViewSlideShowFullScreen",
"17": "ViewSlideShowBrowse",
"18": "ViewPresenterSlide",
"19": "ViewPresenterNotes",
"20": "ViewPresenterNextStep",
"21": "ViewPresenterTitle",
"22": "ViewGridSections",
"23": "ViewGridThumbnails",
"24": "ViewGridSectionTitle",
"25": "ViewGridThumbnailZoom",
"26": "ViewGridBack",
"27": "ViewProtected",
"28": "ViewVisualBasic",
"29": "ViewNone",
"30": "ViewUnknown"
}
}
]
}