This should be a table because it has a thead. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {63, 47} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 2 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf asdf asdf This should be a table because cells have borders. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {69, 29} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf This should not be a table because its cells do not have borders. AXRole: AXGroup AXSubrole: (null) AXRoleDescription: group AXChildren: AXHelp: AXParent: AXSize: NSSize: {29, 21} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXTitleUIElement: (null) AXElementBusy: 0 asdf asdf This should be a table because a cell has a special attribute AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {59, 23} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf This should be a table because a cell has a special attribute. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {59, 23} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf This should be a table because a cell has a special attribute. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {59, 43} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 2 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf asdf asdf This should be a table because cells have different colors. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {59, 23} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf This should not be a table because cells have different but no spacing. AXRole: AXGroup AXSubrole: (null) AXRoleDescription: group AXChildren: AXHelp: AXParent: AXSize: NSSize: {27, 19} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXTitleUIElement: (null) AXElementBusy: 0 asdf asdf This should not be a table because cells have the same colors even though there is spacing. AXRole: AXGroup AXSubrole: (null) AXRoleDescription: group AXChildren: AXHelp: AXParent: AXSize: NSSize: {27, 19} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXTitleUIElement: (null) AXElementBusy: 0 asdf asdf This should be a table because it has the "rules" attr. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {54, 19} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf This should not be a table because it only has one valid cell (need more than one). AXRole: AXGroup AXSubrole: (null) AXRoleDescription: group AXChildren: AXHelp: AXParent: AXSize: NSSize: {769, 27} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXTitleUIElement: (null) AXElementBusy: 0 Contributions This should not be a table because it does not have enough cell borders or background colors AXRole: AXGroup AXSubrole: (null) AXRoleDescription: group AXChildren: AXHelp: AXParent: AXSize: NSSize: {130, 19} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: nmb AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXTitleUIElement: (null) AXElementBusy: 0 Politics Decision '08 The debates The White House Capitol Hill National Journal New York Times This should be a table because it's editable. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {65, 27} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf This should be a table because most cells have a top border. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {63, 49} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 2 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf asdf asdf This should not be a table because cells have different borders. AXRole: AXGroup AXSubrole: (null) AXRoleDescription: group AXChildren: AXHelp: AXParent: AXSize: NSSize: {29, 21} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXTitleUIElement: (null) AXElementBusy: 0 asdf asdf asdf asdf This should be a table because it sets empty-cells: hide on the table. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {65, 70} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 3 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf asdf asdf asdf This should be a table because it sets empty-cells: hide on a cell. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {65, 71} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 3 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf asdf asdf asdf This should be a table because it has a col. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {63, 47} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 2 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf asdf asdf This should be a table because it has at least 20 rows AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {33, 531} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 1 AXRowCount: 24 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf asdf This should be a table even though it uses table-row-group for it's display type. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {84, 47} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXFocusableAncestor: AXEditableAncestor: (null) AXHighestEditableAncestor: (null) AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 2 AXARIAColumnCount: 0 AXARIARowCount: 0 AXElementBusy: 0 head head2 asdf asdf