This patch fixes a bug where the screen reader is not notified about
changes of size / position / visibility of controls if accessibility is
enabled in runtime, i.e. after the controls are connected to the scene.
Please note that the callbacks registered with AccessibilityRegister()
already check Accessibility::IsUp(), therefore non-accessibility usage
scenarios are not affected by this patch.
Change-Id: Icc49b0a12a75135ca3d2033b342878b4ab1392bb
StopObservingVisual(iter->visual);
}
StopObservingVisual(iter->visual);
}
- AccessibilityDeregister(false);
// All gesture detectors will be destroyed so no need to disconnect.
delete mStartingPinchScale;
// All gesture detectors will be destroyed so no need to disconnect.
delete mStartingPinchScale;
auto typeName = type.GetName();
DevelControl::AppendAccessibilityAttribute(Self(), "class", typeName);
}
auto typeName = type.GetName();
DevelControl::AppendAccessibilityAttribute(Self(), "class", typeName);
}
-
- if(Accessibility::IsUp())
- mImpl->AccessibilityRegister();
}
void Control::OnInitialize()
}
void Control::OnInitialize()
// The clipping renderer is only created if required.
CreateClippingRenderer(*this);
// The clipping renderer is only created if required.
CreateClippingRenderer(*this);
- // Request to be laid out when the control is connected to the Scene.
- // Signal that a Relayout may be needed
- if(Accessibility::IsUp())
- {
- mImpl->AccessibilityRegister();
- }
+ mImpl->AccessibilityRegister();
}
void Control::OnSceneDisconnection()
{
}
void Control::OnSceneDisconnection()
{
- if(Accessibility::IsUp())
- {
- mImpl->AccessibilityDeregister(true);
- }
+ mImpl->AccessibilityDeregister(true);
mImpl->OnSceneDisconnection();
}
mImpl->OnSceneDisconnection();
}