Restore explicit value definitions for control types states and roles (PR #13603)
Related to #13588
Based on conversation in https://nvda-addons.groups.io/g/nvda-addons/topic/90329930
Summary of the issue:
- Some add-ons depend on the legacy values of controlTypes.Roles (and possibly controlTypes.States)
- These were removed in commit d4586a5 via PR #13414.
- While HAS_ARIA_DETAILS isn't used internally, add-ons may indirectly depend on it.
This enum value was initially added to controlTypes.py in commit
d6787b8f47861f5e76aba68da7a13a217404196f
and removed in
aa351c55ada5254e061957097a9e0e638091b13d
which introduced a replacement approach:
Use instead NVDAObject.hasDetails
Description of change:
Restore the values using more developer friendly definitions, use unit tests to ensure values match and can be constructed from and compared with integer values, or constructed from the enum value name.