export function register()

in packages/fluentui/react-builder/src/narration/SRNC-StateRules-Win_JAWS.tsx [1:361]


export function register(SRNC: Record<string, any>) {
  SRNC.stateRules['Win/JAWS'] = {
    button: [
      {
        elementType: 'button',
      },
      {
        combination: ['aria-expanded'],
        elementType: 'button',
      },
      {
        combination: ['aria-haspopup'],
        elementType: 'button',
      },
      {
        combination: ['aria-pressed'],
        elementType: 'toggleButton',
      },
      {
        combination: ['aria-expanded', 'aria-haspopup'],
        order: ['aria-haspopup'],
        elementType: 'button',
      },
      {
        combination: ['aria-expanded', 'aria-pressed'],
        order: ['aria-pressed'],
        elementType: 'toggleButton',
      },
      {
        combination: ['aria-haspopup', 'aria-pressed'],
        order: ['aria-pressed', 'aria-haspopup'],
        elementType: 'toggleButton',
      },
      {
        combination: ['aria-expanded', 'aria-haspopup', 'aria-pressed'],
        order: ['aria-pressed', 'aria-haspopup'],
        elementType: 'toggleButton',
      },
    ], // End button
    'role=button': 'button',
    'input:text': [
      {
        elementType: 'textInput',
      },
      {
        combination: ['aria-invalid'],
        elementType: 'textInput',
      },
      {
        combination: ['aria-required'],
        elementType: 'textInput',
      },
      {
        combination: ['aria-invalid', 'aria-required'],
        order: ['aria-required', 'aria-invalid'],
        elementType: 'textInput',
      },
    ], // End input:text
    'role=textbox': 'input:text',
    'input:search': 'input:text',
    'role=searchbox': [
      {
        elementType: 'searchInput',
      },
      {
        combination: ['aria-invalid'],
        elementType: 'searchInput',
      },
      {
        combination: ['aria-required'],
        elementType: 'searchInput',
      },
      {
        combination: ['aria-invalid', 'aria-required'],
        order: ['aria-required', 'aria-invalid'],
        elementType: 'searchInput',
      },
    ], // End role=searchbox

    // Note: <input type="checkbox"> always has the "checked" DOM property, so not all state combinations are needed to be defined here""
    // Note: The checked state is narrated even when the "checked" attribute is not present""""
    'input:checkbox': [
      {
        combination: ['checked'],
        elementType: 'checkboxInput',
      },
      {
        combination: ['checked', 'aria-required'],
        order: ['checked', 'aria-required'],
        elementType: 'checkboxInput',
      },
      {
        combination: ['checked', 'aria-invalid'],
        order: ['checked', 'aria-invalid'],
        elementType: 'checkboxInput',
      },
      {
        combination: ['checked', 'aria-required', 'aria-invalid'],
        order: ['checked', 'aria-required', 'aria-invalid'],
        elementType: 'checkboxInput',
      },
    ], // End input:checkbox

    // Note: The "aria-checked" state is narrated even when the "aria-checked" attribute is not present""""
    'role=checkbox': [
      {
        order: ['aria-checked'],
        elementType: 'checkboxInput',
      },
      {
        combination: ['aria-checked'],
        elementType: 'checkboxInput',
      },
      {
        combination: ['aria-required'],
        order: ['aria-checked', 'aria-required'],
        elementType: 'checkboxInput',
      },
      {
        combination: ['aria-invalid'],
        order: ['aria-checked', 'aria-invalid'],
        elementType: 'checkboxInput',
      },
      {
        combination: ['aria-checked', 'aria-required'],
        order: ['aria-checked', 'aria-required'],
        elementType: 'checkboxInput',
      },
      {
        combination: ['aria-checked', 'aria-invalid'],
        order: ['aria-checked', 'aria-invalid'],
        elementType: 'checkboxInput',
      },
      {
        combination: ['aria-required', 'aria-invalid'],
        order: ['aria-checked', 'aria-required', 'aria-invalid'],
        elementType: 'checkboxInput',
      },
      {
        combination: ['aria-checked', 'aria-required', 'aria-invalid'],
        order: ['aria-checked', 'aria-required', 'aria-invalid'],
        elementType: 'checkboxInput',
      },
    ], // End role=checkbox

    // Note: <input type="radio"> always has the "checked" DOM property, so not all state combinations are needed to be defined here""
    // Note: The "checked" state is narrated even when the "checked" attribute is not present""""
    'input:radio': [
      {
        combination: ['checked'],
        elementType: 'radioInput',
      },
      {
        combination: ['checked', 'aria-required'],
        order: ['checked', 'aria-required'],
        elementType: 'radioInput',
      },
      {
        combination: ['checked', 'aria-invalid'],
        order: ['checked', 'aria-invalid'],
        elementType: 'radioInput',
      },
      {
        combination: ['checked', 'aria-required', 'aria-invalid'],
        order: ['checked', 'aria-required', 'aria-invalid'],
        elementType: 'radioInput',
      },
    ], // End input:radio

    // Note: The checked state is narrated even when the "aria-checked" attribute is not present""""
    'role=radio': [
      {
        order: ['aria-checked'],
        elementType: 'radioInput',
      },
      {
        combination: ['aria-checked'],
        elementType: 'radioInput',
      },
      {
        combination: ['aria-required'],
        order: ['aria-checked', 'aria-required'],
        elementType: 'radioInput',
      },
      {
        combination: ['aria-invalid'],
        order: ['aria-checked', 'aria-invalid'],
        elementType: 'radioInput',
      },
      {
        combination: ['aria-checked', 'aria-required'],
        order: ['aria-checked', 'aria-required'],
        elementType: 'radioInput',
      },
      {
        combination: ['aria-checked', 'aria-invalid'],
        order: ['aria-checked', 'aria-invalid'],
        elementType: 'radioInput',
      },
      {
        combination: ['aria-required', 'aria-invalid'],
        order: ['aria-required', 'aria-invalid'],
        elementType: 'radioInput',
      },
      {
        combination: ['aria-checked', 'aria-required', 'aria-invalid'],
        order: ['aria-checked', 'aria-required', 'aria-invalid'],
        elementType: 'radioInput',
      },
    ], // End role=radio
    'role=combobox': [
      {
        elementType: 'combobox',
      },
      {
        combination: ['aria-invalid'],
        elementType: 'combobox',
      },
      {
        combination: ['aria-required'],
        elementType: 'combobox',
      },
      {
        combination: ['aria-invalid', 'aria-required'],
        order: ['aria-required', 'aria-invalid'],
        elementType: 'combobox',
      },
    ], // End role=combobox
    textarea: [
      {
        elementType: 'textarea',
      },
      {
        combination: ['aria-invalid'],
        elementType: 'textarea',
      },
      {
        combination: ['aria-required'],
        elementType: 'textarea',
      },
      {
        combination: ['aria-invalid', 'aria-required'],
        order: ['aria-required', 'aria-invalid'],
        elementType: 'textarea',
      },
    ], // End textarea
    a: [
      {
        elementType: 'link',
      },
      {
        combination: ['aria-expanded'],
        elementType: 'link',
      },
      {
        combination: ['aria-haspopup'],
        elementType: 'link',
      },
      {
        combination: ['aria-expanded', 'aria-haspopup'],
        order: ['aria-expanded', 'aria-haspopup'],
        elementType: 'link',
      },
    ], // End a
    'role=link': 'a',
    'role=menuitem': [
      {
        elementType: 'menuitem',
      },
      {
        combination: ['aria-haspopup'],
        elementType: 'menuitem',
      },
    ], // End role=menuitem
    'role=menuitemcheckbox': [
      {
        order: ['aria-checked'],
        elementType: 'menuitemcheckbox',
      },
      {
        combination: ['aria-checked'],
        elementType: 'menuitemcheckbox',
      },
    ], // End role=menuitemcheckbox
    'role=menuitemradio': [
      {
        order: ['aria-checked'],
        elementType: 'menuitemradio',
      },
      {
        combination: ['aria-checked'],
        elementType: 'menuitemradio',
      },
    ], // End role=menuitemradio
    select: [
      {
        elementType: 'select',
      },
      {
        combination: ['aria-invalid'],
        elementType: 'select',
      },
      {
        combination: ['aria-required'],
        elementType: 'select',
      },
      {
        combination: ['aria-invalid', 'aria-required'],
        order: ['aria-required', 'aria-invalid'],
        elementType: 'select',
      },
    ], // End select
    'role=switch': [
      {
        order: ['aria-checked'],
        elementType: 'switch',
      },
      {
        combination: ['aria-checked'],
        elementType: 'switch',
      },
    ], // End role=switch
    'role=tab': [
      {
        elementType: 'tab',
      },
      {
        combination: ['aria-selected'],
        elementType: 'tab',
      },
    ], // End role=tab
    'role=option': { elementType: 'option' },
    'role=treeitem': [
      {
        elementType: 'treeitem',
      },
      {
        combination: ['aria-expanded'],
        elementType: 'treeitem',
      },
    ], // End role=treeitem
    'role=gridcell': [
      {
        elementType: 'gridcell',
      },
      {
        combination: ['aria-selected'],
        elementType: 'gridcell',
      },
      {
        combination: ['aria-haspopup'],
        elementType: 'gridcell',
      },
      {
        combination: ['aria-selected', 'aria-haspopup'],
        order: ['aria-selected', 'aria-haspopup'],
        elementType: 'gridcell',
      },
    ], // End role=gridcell
  };
}