checkForSemantics static method
Implementation
static Map<String, dynamic> checkForSemantics(WidgetPath? wp) {
final BuildContext? context = wp!.context;
final Map<String, dynamic> accessibility = {};
Semantics? semantics;
int maxVisit = 10; // TBD: How far up the tree should we look for Semantics?
context?.visitAncestorElements((ancestor) {
final Widget parentWidget = ancestor.widget;
if (parentWidget is Semantics) {
semantics = parentWidget;
return false;
}
return --maxVisit > 0;
});
if (semantics != null) {
final String? hint = semantics!.properties.hint;
final String? label = semantics!.properties.label;
accessibility.addAll({
'accessibility': {
'id': '/GestureDetector',
'label': label ?? '',
'hint': hint ?? ''
}
});
}
return accessibility;
}