This should be a table because it has a thead. AXRole: AXTable AXSubrole: (null) AXRoleDescription: table AXChildren: AXHelp: AXParent: AXSize: NSSize: {62, 47} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 2 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: {68, 29} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 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: {28, 21} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: 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: {58, 23} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 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: {58, 23} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 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: {58, 43} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 2 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: {58, 23} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 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: {26, 19} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: 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: {26, 19} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: 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: {53, 19} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 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, 26} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: 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, 14} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: nmb AXDOMClassList: 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: {64, 27} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 1 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: {62, 49} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 2 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: {28, 21} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: 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: {64, 70} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 3 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: {64, 71} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 3 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: {62, 47} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 2 AXRowCount: 2 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: {32, 531} AXTitle: AXDescription: AXValue: AXFocused: 0 AXEnabled: 1 AXWindow: AXSelectedTextMarkerRange: (null) AXStartTextMarker: AXEndTextMarker: AXVisited: 0 AXLinkedUIElements: (null) AXSelected: 0 AXBlockQuoteLevel: 0 AXTopLevelUIElement: AXLanguage: AXDOMIdentifier: AXDOMClassList: AXRows: AXVisibleRows: AXColumns: AXVisibleColumns: AXVisibleCells: AXColumnHeaderUIElements: AXRowHeaderUIElements: AXHeader: AXColumnCount: 1 AXRowCount: 24 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