コード例 #1
0
def check(context):  # type: (xiblint.xibcontext.XibContext) -> None
    for button in context.tree.findall(".//button"):
        state_normal = button.find("./state[@key='normal']")
        if (state_normal is None or 'title' in state_normal.attrib
                or view_is_accessibility_element(button) is False
                or view_accessibility_label(button)
                or get_view_user_defined_attr(button, 'accessibilityFormat')):
            continue

        if 'image' in state_normal.attrib:
            context.error(
                button, "Button with image '{}' and no title; "
                "should either have an accessibility label or 'Accessibility Enabled' unchecked",
                state_normal.attrib['image'])

        if 'backgroundImage' in state_normal.attrib:
            context.error(
                button, "Button with background image '{}' and no title "
                "should either have an accessibility label or 'Accessibility Enabled' unchecked",
                state_normal.attrib['backgroundImage'])

    # For barButtonItem, we expect use of a LyftUI extension
    for bar_button_item in context.tree.findall(".//barButtonItem"):
        if ('image' in bar_button_item.attrib
                and 'title' not in bar_button_item.attrib
                and get_view_user_defined_attr(bar_button_item,
                                               'voiceoverLabel') is None):
            context.error(
                bar_button_item, "Bar button item with image {} and no title "
                "should have a user-defined `voiceoverLabel` attribute",
                bar_button_item.get('image'))
コード例 #2
0
 def check(self, context):  # type: (XibContext) -> None
     for image_view in context.tree.findall(".//imageView"):
         if (
                 view_is_accessibility_element(image_view) is True and
                 not view_accessibility_label(image_view) and
                 not get_view_user_defined_attr(image_view, 'accessibilityFormat')
         ):
             context.error(image_view, "Image is accessible but has no accessibility label")
コード例 #3
0
    def check(self, context):  # type: (XibContext) -> None
        for button in context.tree.findall(".//button"):
            state_normal = button.find("./state[@key='normal']")
            if (state_normal is None or 'title' in state_normal.attrib
                    or view_is_accessibility_element(button) is False
                    or view_accessibility_label(button) or
                    get_view_user_defined_attr(button, 'accessibilityFormat')):
                continue

            if 'image' in state_normal.attrib:
                context.error(
                    button, "Button with image '{}' and no title; "
                    "should either have an accessibility label or 'Accessibility Enabled' unchecked",
                    state_normal.attrib['image'])

            if 'backgroundImage' in state_normal.attrib:
                context.error(
                    button, "Button with background image '{}' and no title "
                    "should either have an accessibility label or 'Accessibility Enabled' unchecked",
                    state_normal.attrib['backgroundImage'])