uiautomatorviewer - NAF代表什么?

时间:2014-08-21 21:03:46

标签: uiautomator android-uiautomator

我的理解是UIAutomator无法在uiautomatorviewer中自动执行NAF = true的任何元素。我搜索了高低,但我不能为我的生活找到NAF代表的东西。有谁知道吗?

2 个答案:

答案 0 :(得分:11)

" 不可访问性"

这些UI元素显然具有交互性,但不具备内容描述等可访问性功能。

来自AccessibilityNodeInfoDumper.java(uiautomator的一部分)的来源:

/**
 * We're looking for UI controls that are enabled, clickable but have no
 * text nor content-description. Such controls configuration indicate an
 * interactive control is present in the UI and is most likely not
 * accessibility friendly. We refer to such controls here as NAF controls
 * (Not Accessibility Friendly)
 *
 * @param node
 * @return false if a node fails the check, true if all is OK
 */
private static boolean nafCheck(AccessibilityNodeInfo node) {
    boolean isNaf = node.isClickable() && node.isEnabled()
            && safeCharSeqToString(node.getContentDescription()).isEmpty()
            && safeCharSeqToString(node.getText()).isEmpty();
    if (!isNaf)
        return true;
    // check children since sometimes the containing element is clickable
    // and NAF but a child's text or description is available. Will assume
    // such layout as fine.
    return childNafCheck(node);
}

答案 1 :(得分:7)

NAF代表“Not Accessibility Friendly”。