diff --git a/native/Avalonia.Native/src/OSX/automation.mm b/native/Avalonia.Native/src/OSX/automation.mm index 7171de38f7..1847a83160 100644 --- a/native/Avalonia.Native/src/OSX/automation.mm +++ b/native/Avalonia.Native/src/OSX/automation.mm @@ -149,6 +149,11 @@ return [super accessibilityTitle]; } +- (NSString *)accessibilityHelp +{ + return GetNSStringAndRelease(_peer->GetHelpText()); +} + - (id)accessibilityValue { if (_peer->IsRangeValueProvider()) diff --git a/src/Avalonia.Native/AvnAutomationPeer.cs b/src/Avalonia.Native/AvnAutomationPeer.cs index d62cb04130..16ff99f7dc 100644 --- a/src/Avalonia.Native/AvnAutomationPeer.cs +++ b/src/Avalonia.Native/AvnAutomationPeer.cs @@ -39,6 +39,7 @@ namespace Avalonia.Native public IAvnString ClassName => _inner.GetClassName().ToAvnString(); public IAvnAutomationPeer? LabeledBy => Wrap(_inner.GetLabeledBy()); public IAvnString Name => _inner.GetName().ToAvnString(); + public IAvnString HelpText => _inner.GetHelpText().ToAvnString(); public IAvnAutomationPeer? Parent => Wrap(_inner.GetParent()); public IAvnAutomationPeer? VisualRoot => Wrap(_inner.GetVisualRoot()); diff --git a/src/Avalonia.Native/avn.idl b/src/Avalonia.Native/avn.idl index add248be29..dfbd8c2516 100644 --- a/src/Avalonia.Native/avn.idl +++ b/src/Avalonia.Native/avn.idl @@ -1219,6 +1219,8 @@ interface IAvnAutomationPeer : IUnknown bool IsValueProvider(); IAvnString* ValueProvider_GetValue(); void ValueProvider_SetValue(char* value); + + IAvnString* GetHelpText(); } [uuid(b00af5da-78af-4b33-bfff-4ce13a6239a9)]