react-native-windows 0.76.4 → 0.76.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
#include "DynamicAutomationProperties.h"
|
|
26
26
|
|
|
27
27
|
#include <Views/ViewPanel.h>
|
|
28
|
+
#include "FrameworkElementViewManager.h"
|
|
28
29
|
#include "Unicode.h"
|
|
29
30
|
#include "cdebug.h"
|
|
30
31
|
|
|
@@ -422,13 +423,24 @@ bool FrameworkElementViewManager::UpdateProperty(
|
|
|
422
423
|
else if (role == "toolbar")
|
|
423
424
|
DynamicAutomationProperties::SetAccessibilityRole(
|
|
424
425
|
element, winrt::Microsoft::ReactNative::AccessibilityRoles::ToolBar);
|
|
425
|
-
else if (role == "list")
|
|
426
|
+
else if (role == "list") {
|
|
426
427
|
DynamicAutomationProperties::SetAccessibilityRole(
|
|
427
428
|
element, winrt::Microsoft::ReactNative::AccessibilityRoles::List);
|
|
428
|
-
|
|
429
|
+
if (propertyValue.Type() == winrt::Microsoft::ReactNative::JSValueType::String) {
|
|
430
|
+
winrt::hstring controlType = FrameworkElementViewManager::getControlTypeFromAccessibilityRole(
|
|
431
|
+
winrt::Microsoft::ReactNative::AccessibilityRoles::List);
|
|
432
|
+
FrameworkElementViewManager::setLocalizedControlTypeFromAccessibilityRole(element, controlType);
|
|
433
|
+
}
|
|
434
|
+
} else if (role == "listitem") {
|
|
429
435
|
DynamicAutomationProperties::SetAccessibilityRole(
|
|
430
436
|
element, winrt::Microsoft::ReactNative::AccessibilityRoles::ListItem);
|
|
431
|
-
|
|
437
|
+
if (propertyValue.Type() ==
|
|
438
|
+
winrt::Microsoft::ReactNative::JSValueType::String) { // Set localized control type
|
|
439
|
+
winrt::hstring controlType = FrameworkElementViewManager::getControlTypeFromAccessibilityRole(
|
|
440
|
+
winrt::Microsoft::ReactNative::AccessibilityRoles::ListItem);
|
|
441
|
+
FrameworkElementViewManager::setLocalizedControlTypeFromAccessibilityRole(element, controlType);
|
|
442
|
+
}
|
|
443
|
+
} else
|
|
432
444
|
DynamicAutomationProperties::SetAccessibilityRole(
|
|
433
445
|
element, winrt::Microsoft::ReactNative::AccessibilityRoles::Unknown);
|
|
434
446
|
} else if (propertyValue.IsNull()) {
|
|
@@ -823,6 +835,71 @@ bool FrameworkElementViewManager::UpdateProperty(
|
|
|
823
835
|
return true;
|
|
824
836
|
}
|
|
825
837
|
|
|
838
|
+
winrt::hstring FrameworkElementViewManager::getControlTypeFromAccessibilityRole(
|
|
839
|
+
winrt::Microsoft::ReactNative::AccessibilityRoles role) {
|
|
840
|
+
switch (role) {
|
|
841
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Button:
|
|
842
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::ImageButton:
|
|
843
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Switch:
|
|
844
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::ToggleButton:
|
|
845
|
+
return winrt::to_hstring("button");
|
|
846
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Link:
|
|
847
|
+
return winrt::to_hstring("link");
|
|
848
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Image:
|
|
849
|
+
return winrt::to_hstring("image");
|
|
850
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::KeyboardKey:
|
|
851
|
+
return winrt::to_hstring("custom");
|
|
852
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Text:
|
|
853
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Header:
|
|
854
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Summary:
|
|
855
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Alert:
|
|
856
|
+
return winrt::to_hstring("text");
|
|
857
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Adjustable:
|
|
858
|
+
return winrt::to_hstring("slider");
|
|
859
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::CheckBox:
|
|
860
|
+
return winrt::to_hstring("checkbox");
|
|
861
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::ComboBox:
|
|
862
|
+
return winrt::to_hstring("combobox");
|
|
863
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Menu:
|
|
864
|
+
return winrt::to_hstring("menu");
|
|
865
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::MenuBar:
|
|
866
|
+
return winrt::to_hstring("menubar");
|
|
867
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::MenuItem:
|
|
868
|
+
return winrt::to_hstring("menuitem");
|
|
869
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::ProgressBar:
|
|
870
|
+
return winrt::to_hstring("progressbar");
|
|
871
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Radio:
|
|
872
|
+
return winrt::to_hstring("radiobutton");
|
|
873
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::ScrollBar:
|
|
874
|
+
return winrt::to_hstring("scrollbar");
|
|
875
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::SpinButton:
|
|
876
|
+
return winrt::to_hstring("spinner");
|
|
877
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Tab:
|
|
878
|
+
return winrt::to_hstring("tabitem");
|
|
879
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::TabList:
|
|
880
|
+
return winrt::to_hstring("tab");
|
|
881
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::ToolBar:
|
|
882
|
+
return winrt::to_hstring("toolbar");
|
|
883
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::List:
|
|
884
|
+
return winrt::to_hstring("list");
|
|
885
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::ListItem:
|
|
886
|
+
return winrt::to_hstring("listitem");
|
|
887
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::None:
|
|
888
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Search:
|
|
889
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::RadioGroup:
|
|
890
|
+
case winrt::Microsoft::ReactNative::AccessibilityRoles::Timer:
|
|
891
|
+
return winrt::to_hstring("group");
|
|
892
|
+
}
|
|
893
|
+
return winrt::to_hstring("custom");
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
void FrameworkElementViewManager::setLocalizedControlTypeFromAccessibilityRole(
|
|
897
|
+
xaml::UIElement element,
|
|
898
|
+
winrt::hstring value) {
|
|
899
|
+
auto controlTypeBoxedValue = winrt::Windows::Foundation::PropertyValue::CreateString(value);
|
|
900
|
+
element.SetValue(xaml::Automation::AutomationProperties::LocalizedControlTypeProperty(), controlTypeBoxedValue);
|
|
901
|
+
}
|
|
902
|
+
|
|
826
903
|
// Applies a TransformMatrix to the backing UIElement.
|
|
827
904
|
// In react-native, rotates and scales are applied about the center of the
|
|
828
905
|
// component, unlike XAML. Since the javascript layer sends a non-centered
|
|
@@ -13,6 +13,10 @@ class REACTWINDOWS_EXPORT FrameworkElementViewManager : public ViewManagerBase {
|
|
|
13
13
|
public:
|
|
14
14
|
FrameworkElementViewManager(const Mso::React::IReactContext &context);
|
|
15
15
|
|
|
16
|
+
static winrt::hstring getControlTypeFromAccessibilityRole(winrt::Microsoft::ReactNative::AccessibilityRoles role);
|
|
17
|
+
|
|
18
|
+
void setLocalizedControlTypeFromAccessibilityRole(xaml::UIElement element, winrt::hstring value);
|
|
19
|
+
|
|
16
20
|
void GetNativeProps(const winrt::Microsoft::ReactNative::IJSValueWriter &writer) const override;
|
|
17
21
|
|
|
18
22
|
// Helper functions related to setting/updating TransformMatrix
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
-->
|
|
11
11
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
12
12
|
<PropertyGroup>
|
|
13
|
-
<ReactNativeWindowsVersion>0.76.
|
|
13
|
+
<ReactNativeWindowsVersion>0.76.5</ReactNativeWindowsVersion>
|
|
14
14
|
<ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
|
|
15
15
|
<ReactNativeWindowsMinor>76</ReactNativeWindowsMinor>
|
|
16
|
-
<ReactNativeWindowsPatch>
|
|
16
|
+
<ReactNativeWindowsPatch>5</ReactNativeWindowsPatch>
|
|
17
17
|
<ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
|
|
18
|
-
<ReactNativeWindowsCommitId>
|
|
18
|
+
<ReactNativeWindowsCommitId>d8923f761dac41d874eba25b70387cd4b34151eb</ReactNativeWindowsCommitId>
|
|
19
19
|
</PropertyGroup>
|
|
20
20
|
</Project>
|