Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/testing/web-platform/tests/tools/iaccessible2/   (Firefox Browser Version 153.0.1©)  Datei vom 27.6.2026 mit Größe 7 kB image not shown  

Quelle  ia2.py

  Sprache: Python
 

# type: ignore

import enum
import os
import comtypes.client

# Get IAccessible2 constants for helper functions below
ia2_tlb = os.path.join(
    os.path.dirname(os.path.realpath(__file__)),
    "ia2_api_all.tlb",
)
ia2_mod = comtypes.client.GetModule(ia2_tlb)
# Add to globals the many IAccessible2 constants. These will also be imported
# when this file is imported.
globals().update((k, getattr(ia2_mod, k)) for k in ia2_mod.__all__)


class Role(enum.IntEnum):
    # MSAA roles - constants not provided via oleacc
    ROLE_SYSTEM_TITLEBAR = 1
    ROLE_SYSTEM_MENUBAR = 2
    ROLE_SYSTEM_SCROLLBAR = 3
    ROLE_SYSTEM_GRIP = 4
    ROLE_SYSTEM_SOUND = 5
    ROLE_SYSTEM_CURSOR = 6
    ROLE_SYSTEM_CARET = 7
    ROLE_SYSTEM_ALERT = 8
    ROLE_SYSTEM_WINDOW = 9
    ROLE_SYSTEM_CLIENT = 10
    ROLE_SYSTEM_MENUPOPUP = 11
    ROLE_SYSTEM_MENUITEM = 12
    ROLE_SYSTEM_TOOLTIP = 13
    ROLE_SYSTEM_APPLICATION = 14
    ROLE_SYSTEM_DOCUMENT = 15
    ROLE_SYSTEM_PANE = 16
    ROLE_SYSTEM_CHART = 17
    ROLE_SYSTEM_DIALOG = 18
    ROLE_SYSTEM_BORDER = 19
    ROLE_SYSTEM_GROUPING = 20
    ROLE_SYSTEM_SEPARATOR = 21
    ROLE_SYSTEM_TOOLBAR = 22
    ROLE_SYSTEM_STATUSBAR = 23
    ROLE_SYSTEM_TABLE = 24
    ROLE_SYSTEM_COLUMNHEADER = 25
    ROLE_SYSTEM_ROWHEADER = 26
    ROLE_SYSTEM_COLUMN = 27
    ROLE_SYSTEM_ROW = 28
    ROLE_SYSTEM_CELL = 29
    ROLE_SYSTEM_LINK = 30
    ROLE_SYSTEM_HELPBALLOON = 31
    ROLE_SYSTEM_CHARACTER = 32
    ROLE_SYSTEM_LIST = 33
    ROLE_SYSTEM_LISTITEM = 34
    ROLE_SYSTEM_OUTLINE = 35
    ROLE_SYSTEM_OUTLINEITEM = 36
    ROLE_SYSTEM_PAGETAB = 37
    ROLE_SYSTEM_PROPERTYPAGE = 38
    ROLE_SYSTEM_INDICATOR = 39
    ROLE_SYSTEM_GRAPHIC = 40
    ROLE_SYSTEM_STATICTEXT = 41
    ROLE_SYSTEM_TEXT = 42
    ROLE_SYSTEM_PUSHBUTTON = 43
    ROLE_SYSTEM_CHECKBUTTON = 44
    ROLE_SYSTEM_RADIOBUTTON = 45
    ROLE_SYSTEM_COMBOBOX = 46
    ROLE_SYSTEM_DROPLIST = 47
    ROLE_SYSTEM_PROGRESSBAR = 48
    ROLE_SYSTEM_DIAL = 49
    ROLE_SYSTEM_HOTKEYFIELD = 50
    ROLE_SYSTEM_SLIDER = 51
    ROLE_SYSTEM_SPINBUTTON = 52
    ROLE_SYSTEM_DIAGRAM = 53
    ROLE_SYSTEM_ANIMATION = 54
    ROLE_SYSTEM_EQUATION = 55
    ROLE_SYSTEM_BUTTONDROPDOWN = 56
    ROLE_SYSTEM_BUTTONMENU = 57
    ROLE_SYSTEM_BUTTONDROPDOWNGRID = 58
    ROLE_SYSTEM_WHITESPACE = 59
    ROLE_SYSTEM_PAGETABLIST = 60
    ROLE_SYSTEM_CLOCK = 61
    ROLE_SYSTEM_SPLITBUTTON = 62
    ROLE_SYSTEM_IPADDRESS = 63
    ROLE_SYSTEM_OUTLINEBUTTON = 64
    # IAccessible2 roles
    IA2_ROLE_CANVAS = ia2_mod.IA2_ROLE_CANVAS
    IA2_ROLE_CAPTION = ia2_mod.IA2_ROLE_CAPTION
    IA2_ROLE_CHECK_MENU_ITEM = ia2_mod.IA2_ROLE_CHECK_MENU_ITEM
    IA2_ROLE_COLOR_CHOOSER = ia2_mod.IA2_ROLE_COLOR_CHOOSER
    IA2_ROLE_DATE_EDITOR = ia2_mod.IA2_ROLE_DATE_EDITOR
    IA2_ROLE_DESKTOP_ICON = ia2_mod.IA2_ROLE_DESKTOP_ICON
    IA2_ROLE_DESKTOP_PANE = ia2_mod.IA2_ROLE_DESKTOP_PANE
    IA2_ROLE_DIRECTORY_PANE = ia2_mod.IA2_ROLE_DIRECTORY_PANE
    IA2_ROLE_EDITBAR = ia2_mod.IA2_ROLE_EDITBAR
    IA2_ROLE_EMBEDDED_OBJECT = ia2_mod.IA2_ROLE_EMBEDDED_OBJECT
    IA2_ROLE_ENDNOTE = ia2_mod.IA2_ROLE_ENDNOTE
    IA2_ROLE_FILE_CHOOSER = ia2_mod.IA2_ROLE_FILE_CHOOSER
    IA2_ROLE_FONT_CHOOSER = ia2_mod.IA2_ROLE_FONT_CHOOSER
    IA2_ROLE_FOOTER = ia2_mod.IA2_ROLE_FOOTER
    IA2_ROLE_FOOTNOTE = ia2_mod.IA2_ROLE_FOOTNOTE
    IA2_ROLE_FORM = ia2_mod.IA2_ROLE_FORM
    IA2_ROLE_FRAME = ia2_mod.IA2_ROLE_FRAME
    IA2_ROLE_GLASS_PANE = ia2_mod.IA2_ROLE_GLASS_PANE
    IA2_ROLE_HEADER = ia2_mod.IA2_ROLE_HEADER
    IA2_ROLE_HEADING = ia2_mod.IA2_ROLE_HEADING
    IA2_ROLE_ICON = ia2_mod.IA2_ROLE_ICON
    IA2_ROLE_IMAGE_MAP = ia2_mod.IA2_ROLE_IMAGE_MAP
    IA2_ROLE_INPUT_METHOD_WINDOW = ia2_mod.IA2_ROLE_INPUT_METHOD_WINDOW
    IA2_ROLE_INTERNAL_FRAME = ia2_mod.IA2_ROLE_INTERNAL_FRAME
    IA2_ROLE_LABEL = ia2_mod.IA2_ROLE_LABEL
    IA2_ROLE_LAYERED_PANE = ia2_mod.IA2_ROLE_LAYERED_PANE
    IA2_ROLE_NOTE = ia2_mod.IA2_ROLE_NOTE
    IA2_ROLE_OPTION_PANE = ia2_mod.IA2_ROLE_OPTION_PANE
    IA2_ROLE_PAGE = ia2_mod.IA2_ROLE_PAGE
    IA2_ROLE_PARAGRAPH = ia2_mod.IA2_ROLE_PARAGRAPH
    IA2_ROLE_RADIO_MENU_ITEM = ia2_mod.IA2_ROLE_RADIO_MENU_ITEM
    IA2_ROLE_REDUNDANT_OBJECT = ia2_mod.IA2_ROLE_REDUNDANT_OBJECT
    IA2_ROLE_ROOT_PANE = ia2_mod.IA2_ROLE_ROOT_PANE
    IA2_ROLE_RULER = ia2_mod.IA2_ROLE_RULER
    IA2_ROLE_SCROLL_PANE = ia2_mod.IA2_ROLE_SCROLL_PANE
    IA2_ROLE_SECTION = ia2_mod.IA2_ROLE_SECTION
    IA2_ROLE_SHAPE = ia2_mod.IA2_ROLE_SHAPE
    IA2_ROLE_SPLIT_PANE = ia2_mod.IA2_ROLE_SPLIT_PANE
    IA2_ROLE_TEAR_OFF_MENU = ia2_mod.IA2_ROLE_TEAR_OFF_MENU
    IA2_ROLE_TERMINAL = ia2_mod.IA2_ROLE_TERMINAL
    IA2_ROLE_TEXT_FRAME = ia2_mod.IA2_ROLE_TEXT_FRAME
    IA2_ROLE_TOGGLE_BUTTON = ia2_mod.IA2_ROLE_TOGGLE_BUTTON
    IA2_ROLE_UNKNOWN = ia2_mod.IA2_ROLE_UNKNOWN
    IA2_ROLE_VIEW_PORT = ia2_mod.IA2_ROLE_VIEW_PORT
    IA2_ROLE_COMPLEMENTARY_CONTENT = ia2_mod.IA2_ROLE_COMPLEMENTARY_CONTENT
    IA2_ROLE_LANDMARK = ia2_mod.IA2_ROLE_LANDMARK
    IA2_ROLE_LEVEL_BAR = ia2_mod.IA2_ROLE_LEVEL_BAR
    IA2_ROLE_CONTENT_DELETION = ia2_mod.IA2_ROLE_CONTENT_DELETION
    IA2_ROLE_CONTENT_INSERTION = ia2_mod.IA2_ROLE_CONTENT_INSERTION
    IA2_ROLE_BLOCK_QUOTE = ia2_mod.IA2_ROLE_BLOCK_QUOTE
    IA2_ROLE_MARK = ia2_mod.IA2_ROLE_MARK
    IA2_ROLE_SUGGESTION = ia2_mod.IA2_ROLE_SUGGESTION
    IA2_ROLE_COMMENT = ia2_mod.IA2_ROLE_COMMENT


class MsaaState(enum.IntFlag):
    STATE_SYSTEM_UNAVAILABLE = 0x00000001
    STATE_SYSTEM_SELECTED = 0x00000002
    STATE_SYSTEM_FOCUSED = 0x00000004
    STATE_SYSTEM_PRESSED = 0x00000008
    STATE_SYSTEM_CHECKED = 0x00000010
    STATE_SYSTEM_MIXED = 0x00000020
    STATE_SYSTEM_READONLY = 0x00000040
    STATE_SYSTEM_HOTTRACKED = 0x00000080
    STATE_SYSTEM_DEFAULT = 0x00000100
    STATE_SYSTEM_EXPANDED = 0x00000200
    STATE_SYSTEM_COLLAPSED = 0x00000400
    STATE_SYSTEM_BUSY = 0x00000800
    STATE_SYSTEM_FLOATING = 0x00001000
    STATE_SYSTEM_MARQUEED = 0x00002000
    STATE_SYSTEM_ANIMATED = 0x00004000
    STATE_SYSTEM_INVISIBLE = 0x00008000
    STATE_SYSTEM_OFFSCREEN = 0x00010000
    STATE_SYSTEM_SIZEABLE = 0x00020000
    STATE_SYSTEM_MOVEABLE = 0x00040000
    STATE_SYSTEM_SELFVOICING = 0x00080000
    STATE_SYSTEM_FOCUSABLE = 0x00100000
    STATE_SYSTEM_SELECTABLE = 0x00200000
    STATE_SYSTEM_LINKED = 0x00400000
    STATE_SYSTEM_TRAVERSED = 0x00800000
    STATE_SYSTEM_MULTISELECTABLE = 0x01000000
    STATE_SYSTEM_EXTSELECTABLE = 0x02000000
    STATE_SYSTEM_ALERT_LOW = 0x04000000
    STATE_SYSTEM_ALERT_MEDIUM = 0x08000000
    STATE_SYSTEM_ALERT_HIGH = 0x10000000
    STATE_SYSTEM_PROTECTED = 0x20000000
    STATE_SYSTEM_HASPOPUP = 0x40000000


class Ia2State(enum.IntFlag):
    IA2_STATE_ACTIVE = ia2_mod.IA2_STATE_ACTIVE
    IA2_STATE_ARMED = ia2_mod.IA2_STATE_ARMED
    IA2_STATE_CHECKABLE = ia2_mod.IA2_STATE_CHECKABLE
    IA2_STATE_DEFUNCT = ia2_mod.IA2_STATE_DEFUNCT
    IA2_STATE_EDITABLE = ia2_mod.IA2_STATE_EDITABLE
    IA2_STATE_HORIZONTAL = ia2_mod.IA2_STATE_HORIZONTAL
    IA2_STATE_ICONIFIED = ia2_mod.IA2_STATE_ICONIFIED
    IA2_STATE_INVALID_ENTRY = ia2_mod.IA2_STATE_INVALID_ENTRY
    IA2_STATE_MANAGES_DESCENDANTS = ia2_mod.IA2_STATE_MANAGES_DESCENDANTS
    IA2_STATE_MODAL = ia2_mod.IA2_STATE_MODAL
    IA2_STATE_MULTI_LINE = ia2_mod.IA2_STATE_MULTI_LINE
    IA2_STATE_OPAQUE = ia2_mod.IA2_STATE_OPAQUE
    IA2_STATE_PINNED = ia2_mod.IA2_STATE_PINNED
    IA2_STATE_REQUIRED = ia2_mod.IA2_STATE_REQUIRED
    IA2_STATE_SELECTABLE_TEXT = ia2_mod.IA2_STATE_SELECTABLE_TEXT
    IA2_STATE_SINGLE_LINE = ia2_mod.IA2_STATE_SINGLE_LINE
    IA2_STATE_STALE = ia2_mod.IA2_STATE_STALE
    IA2_STATE_SUPPORTS_AUTOCOMPLETION = ia2_mod.IA2_STATE_SUPPORTS_AUTOCOMPLETION
    IA2_STATE_TRANSIENT = ia2_mod.IA2_STATE_TRANSIENT
    IA2_STATE_VERTICAL = ia2_mod.IA2_STATE_VERTICAL


def msaa_state_list_to_string(states):
    state_strings = []
    for state in MsaaState:
        if states & state:
            state_strings.append(state.name.removeprefix("STATE_SYSTEM_"))
    return state_strings


def state_list_to_string(states):
    state_strings = []
    for state in Ia2State:
        if states & state:
            state_strings.append(state.name.removeprefix("IA2_STATE_"))
    return state_strings

Messung V0.5 in Prozent
C=93 H=99 G=95

¤ Dauer der Verarbeitung: 0.14 Sekunden  (vorverarbeitet am  2026-08-26) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.