是Android的WebView启用辅助功能? 谁能告诉如何制作的WebView访问?
Answer 1:
Android的web视图无障碍经由启动Javascript注射在蜂窝和上述(如通过指出alanv )。 用户必须通过启用它:
- 打开辅助模式,包括在4.0以上版本的“触摸浏览”。
- 启用“增强网页辅助功能”,或者,旧设备,“注入的Web脚本”。
这是通过注入javascript改成通过每个页面加载<script>
标记。 请注意,您必须要小心,因为不是所有的内容将起到很好的与此JavaScript和注入将在一些边缘情况会失败。
Answer 2:
您可以扩展的WebView类来实现辅助功能的API方法。
http://developer.android.com/guide/topics/ui/accessibility/apps.html#custom-views
Answer 3:
我也遇到了这个问题,在4.0的设备。 最后我把一个TextView上的WebView的顶部,使得TextView的背景和文本透明。 TextView的文本内容被设定的WebView的剥去了所有的HTML标签的内容。
一个最不雅的解决方案,我知道,但嘿工程....
Answer 4:
不, WebView
不能从内置对讲服务访问,至少Android版本4.0。 相反,盲目用户指示使用类似移动访问为Android ,它提供了一个口头浏览界面。 我建议让您的内容提供给其他进程,使盲人用户可以查看在自己选择的浏览器中的内容。 我这样做是通过开始的意图来查看内容:
public static void loadUrlInBrowser(Context c, Uri uri) {
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(uri, "text/html");
c.startActivity(i);
}
或者,你可以设置的WebView的内容描述。 请注意,这似乎只在前期4.0 Android版本的工作。 我发现,4.0的设备保持要么说的WebView还是什么都没有。
Answer 5:
我知道如何访问辅助功能API Web视图内容,当AccessibilityNodeInfo.getText()为空或“空”,称AccessibilityNodeInfo.getContentDescription()。
简单的代码:
private String getTextOrDescription(AccessibilityNodeInfo info) {
String text = String.valueOf(info.getText());
if (isEmptyOrNullString(text)) {
text = String.valueOf(info.getContentDescription());
}
return text;
}
private boolean isEmptyOrNullString(String text) {
if (TextUtils.isEmpty(text) || text.equalsIgnoreCase("null")) {
return true;
}
return false;
}
getContentDescription()可以得到网页视图内容。
对不起,我英文不好。