* Added LandmarkType to automation properties
* Set AutomationProperties.AccessibilityView on Main landmark in IntegrationTestApp, which is required for Narrator to find the landmark
* Implement AXRoleDescription as suggested by W3C
* Fixed wrong role descriptions
* Refactor IntegrationTestApp.
Use a `ListBox` to switch pages instead of a `TabControl`: the `TabControl` didn't adapt well to smaller screen sizes, and the `MainWindow` was getting unwieldy anyway.
* Update tests to use new pager.
Move logic for selecting the page to a base class as we may need to handle scrolling manually on macOS at some point (Appium on macOS doesn't scroll elements into view automatically).
* Add AutomationPeer.IsOffscreen.
This is needed in order for controls to be scrolled into view using WinAppDriver. The default is the same as WPF and the default value is overridden in the same controls as WPF (where present).
When opening a context menu and pressing the "arrow down" key, the first menu item was not selected. This issue was introduced by #11287. The fix is to make the `ContextMenu` focusable.
Added an integration test to try to prevent regressions.
Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Draft new API
* Push reusable ScreensBaseImpl implementation
* Fix tests and stubs
* Update ScreensPage sample to work on mobile + show new APIs
* Reimplement Windows ScreensImpl, reuse existing screens in other places of backend, use Microsoft.Windows.CsWin32 for interop
* Make X11 project buildable, don't utilize new APIs yet
* Reimplement macOS Screens API, differenciate screens by CGDirectDisplayID
* Fix build
* Adjust breaking changes file (none affect users)
* Fix missing macOS Screen.DisplayName
* Add more tests + fix screen removal
* Add screens integration tests
* Use hash set with comparer when removing screens
* Make screenimpl safer on macOS as per review
* Replace UnmanagedCallersOnly usage with source generated EnumDisplayMonitors
* Remove unused dllimport
* Only implement GetHashCode and Equals on PlatformScreen subclass, without changing base Screen
* Add accessibility ID to the TrayPopupRoot on Windows
* [Windows] Add left click and menu item click e2e tests for TrayIcon
* [Windows] Add TrayIcon visibility toggle tests
* Implement macOS tray icon tests
* Make it easier to read tray icon logs
* Try to handle win10 accessibility names
* Try to upload PageSource
* Set condition: always
* Hopefully, it works on CI
* Try to upload PageSource #2
* Fix win10, hopefully for the last time
* Enable IncludeAvaloniaGenerators on integartion tests app
* Implement basic TitleBarAutomationPeer
* Add WindowDecorationsTests (windows only for now)
* Implement window decoration tests on macOS
* Fix build on appium 1
* Fix some windows tests
* Extract WindowDecorationsTests into a separated collection, so it won't conflict
* Fix build
* Fix build
* ensure owner topmost flag is set if its topmost when showing a owned window
* add comments on why HWND_TOPMOST is set again
* add Topmost with owned window integration tests
* fix tests
* Add integration test for access key indicators in macOS menu bar titles.
Tests for access key indicators displaying as plain underscores in macOS menu bar items.
* Exclude access key markers from native menu titles on macOS.
macOS does not support access key markers, so they just display as extra underscores.
Integration tests for #10420:
- Adds an `--overlayPopups` command-line argument to IntegrationTestApp
- Renames `TestAppFixture` -> `DefaultAppFixture`
- Adds additional `OverlayPopupsAppFixture`
- Runs ComboBox and Menu tests in both default and overlay popups mode
- VS keeps changing the `.sln` file
We need to be explicit about which element we're talking about when there are two elements with the same content, and so use accessibility IDs rather than Name.