Bug 699243 - Add method to GeckoAppShell to emit a11y events and bridge it [r=blassey]
This commit is contained in:
@@ -64,6 +64,7 @@ import android.media.MediaScannerConnection;
|
||||
import android.media.MediaScannerConnection.MediaScannerConnectionClient;
|
||||
import android.provider.Settings;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.view.accessibility.AccessibilityEvent;
|
||||
|
||||
import android.util.*;
|
||||
import android.net.Uri;
|
||||
@@ -1658,4 +1659,23 @@ public class GeckoAppShell
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void emitGeckoAccessibilityEvent (int eventType, String role, String text, String description, boolean enabled, boolean checked, boolean password) {
|
||||
AccessibilityManager accessibilityManager =
|
||||
(AccessibilityManager) GeckoApp.mAppContext.getSystemService(Context.ACCESSIBILITY_SERVICE);
|
||||
|
||||
if (!accessibilityManager.isEnabled())
|
||||
return;
|
||||
|
||||
AccessibilityEvent event = AccessibilityEvent.obtain(eventType);
|
||||
event.setClassName(GeckoApp.surfaceView.getClass().getName() + "$" + role);
|
||||
event.setPackageName(GeckoApp.mAppContext.getPackageName());
|
||||
event.setEnabled(enabled);
|
||||
event.setChecked(checked);
|
||||
event.setPassword(password);
|
||||
event.setContentDescription(description);
|
||||
event.getText().add(text);
|
||||
|
||||
accessibilityManager.sendAccessibilityEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user