Changeset 190833 in webkit
- Timestamp:
- Oct 9, 2015 6:08:32 PM (9 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r190820 r190833 1 2015-10-09 Nan Wang <n_wang@apple.com> 2 3 AX: ARIA 1.1 implement aria-colcount, aria-colindex, aria-colspan, aria-rowcount, aria-rowindex and aria-rowspan 4 https://bugs.webkit.org/show_bug.cgi?id=148967 5 6 Reviewed by Chris Fleizach. 7 8 * accessibility/mac/aria-columnrowheaders-expected.txt: 9 * accessibility/mac/aria-table-attributes-expected.txt: Added. 10 * accessibility/mac/aria-table-attributes.html: Added. 11 * platform/mac/accessibility/table-attributes-expected.txt: 12 * platform/mac/accessibility/table-cell-spans-expected.txt: 13 * platform/mac/accessibility/table-cells-expected.txt: 14 * platform/mac/accessibility/table-detection-expected.txt: 15 * platform/mac/accessibility/table-sections-expected.txt: 16 * platform/mac/accessibility/table-with-rules-expected.txt: 17 1 18 2015-10-09 Simon Fraser <simon.fraser@apple.com> 2 19 -
trunk/LayoutTests/accessibility/mac/aria-columnrowheaders-expected.txt
r187799 r190833 35 35 AXColumnHeaderUIElements: <array of size 0> 36 36 AXRowHeaderUIElements: <array of size 0> 37 AXARIAColumnIndex: -1 38 AXARIARowIndex: -1 37 39 AXElementBusy: 0 38 40 AXRequired: 0 … … 67 69 AXColumnHeaderUIElements: <array of size 0> 68 70 AXRowHeaderUIElements: <array of size 0> 71 AXARIAColumnIndex: -1 72 AXARIARowIndex: -1 69 73 AXElementBusy: 0 70 74 AXRequired: 0 … … 99 103 AXColumnHeaderUIElements: <array of size 0> 100 104 AXRowHeaderUIElements: <array of size 0> 105 AXARIAColumnIndex: -1 106 AXARIARowIndex: -1 101 107 AXElementBusy: 0 102 108 AXRequired: 0 … … 132 138 AXColumnHeaderUIElements: <array of size 0> 133 139 AXRowHeaderUIElements: <array of size 0> 140 AXARIAColumnIndex: -1 141 AXARIARowIndex: -1 134 142 AXElementBusy: 0 135 143 AXRequired: 0 … … 164 172 AXColumnHeaderUIElements: <array of size 0> 165 173 AXRowHeaderUIElements: <array of size 0> 174 AXARIAColumnIndex: -1 175 AXARIARowIndex: -1 166 176 AXElementBusy: 0 167 177 AXRequired: 0 -
trunk/LayoutTests/platform/mac/accessibility/table-attributes-expected.txt
r180107 r190833 37 37 AXColumnHeaderUIElements: <array of size 0> 38 38 AXRowHeaderUIElements: <array of size 0> 39 AXARIAColumnIndex: -1 40 AXARIARowIndex: -1 39 41 AXElementBusy: 0 40 42 AXRequired: 0 … … 69 71 AXColumnHeaderUIElements: <array of size 0> 70 72 AXRowHeaderUIElements: <array of size 0> 73 AXARIAColumnIndex: -1 74 AXARIARowIndex: -1 71 75 AXElementBusy: 0 72 76 AXRequired: 0 … … 101 105 AXColumnHeaderUIElements: <array of size 0> 102 106 AXRowHeaderUIElements: <array of size 1> 107 AXARIAColumnIndex: -1 108 AXARIARowIndex: -1 103 109 AXElementBusy: 0 104 110 AXRequired: 0 … … 133 139 AXColumnHeaderUIElements: <array of size 0> 134 140 AXRowHeaderUIElements: <array of size 1> 141 AXARIAColumnIndex: -1 142 AXARIARowIndex: -1 135 143 AXElementBusy: 0 136 144 AXRequired: 0 … … 165 173 AXColumnHeaderUIElements: <array of size 0> 166 174 AXRowHeaderUIElements: <array of size 1> 175 AXARIAColumnIndex: -1 176 AXARIARowIndex: -1 167 177 AXElementBusy: 0 168 178 AXRequired: 0 … … 201 211 AXColumnHeaderUIElements: <array of size 0> 202 212 AXRowHeaderUIElements: <array of size 0> 213 AXARIAColumnIndex: -1 214 AXARIARowIndex: -1 203 215 AXElementBusy: 0 204 216 AXRequired: 0 … … 233 245 AXColumnHeaderUIElements: <array of size 1> 234 246 AXRowHeaderUIElements: <array of size 1> 247 AXARIAColumnIndex: -1 248 AXARIARowIndex: -1 235 249 AXElementBusy: 0 236 250 AXRequired: 0 … … 265 279 AXColumnHeaderUIElements: <array of size 1> 266 280 AXRowHeaderUIElements: <array of size 0> 281 AXARIAColumnIndex: -1 282 AXARIARowIndex: -1 267 283 AXElementBusy: 0 268 284 AXRequired: 0 … … 297 313 AXColumnHeaderUIElements: <array of size 1> 298 314 AXRowHeaderUIElements: <array of size 1> 315 AXARIAColumnIndex: -1 316 AXARIARowIndex: -1 299 317 AXElementBusy: 0 300 318 AXRequired: 0 … … 608 626 AXColumnHeaderUIElements: <array of size 0> 609 627 AXRowHeaderUIElements: <array of size 0> 628 AXARIAColumnIndex: -1 629 AXARIARowIndex: -1 610 630 AXElementBusy: 0 611 631 AXRequired: 0 … … 640 660 AXColumnHeaderUIElements: <array of size 0> 641 661 AXRowHeaderUIElements: <array of size 1> 662 AXARIAColumnIndex: -1 663 AXARIARowIndex: -1 642 664 AXElementBusy: 0 643 665 AXRequired: 0 … … 672 694 AXColumnHeaderUIElements: <array of size 0> 673 695 AXRowHeaderUIElements: <array of size 1> 696 AXARIAColumnIndex: -1 697 AXARIARowIndex: -1 674 698 AXElementBusy: 0 675 699 AXRequired: 0 … … 704 728 AXColumnHeaderUIElements: <array of size 1> 705 729 AXRowHeaderUIElements: <array of size 1> 730 AXARIAColumnIndex: -1 731 AXARIARowIndex: -1 706 732 AXElementBusy: 0 707 733 AXRequired: 0 … … 736 762 AXColumnHeaderUIElements: <array of size 1> 737 763 AXRowHeaderUIElements: <array of size 1> 764 AXARIAColumnIndex: -1 765 AXARIARowIndex: -1 738 766 AXElementBusy: 0 739 767 AXRequired: 0 … … 768 796 AXColumnHeaderUIElements: <array of size 1> 769 797 AXRowHeaderUIElements: <array of size 0> 798 AXARIAColumnIndex: -1 799 AXARIARowIndex: -1 770 800 AXElementBusy: 0 771 801 AXRequired: 0 … … 800 830 AXColumnHeaderUIElements: <array of size 1> 801 831 AXRowHeaderUIElements: <array of size 1> 832 AXARIAColumnIndex: -1 833 AXARIARowIndex: -1 802 834 AXElementBusy: 0 803 835 AXRequired: 0 … … 832 864 AXColumnHeaderUIElements: <array of size 1> 833 865 AXRowHeaderUIElements: <array of size 1> 866 AXARIAColumnIndex: -1 867 AXARIARowIndex: -1 834 868 AXElementBusy: 0 835 869 AXRequired: 0 … … 864 898 AXColumnHeaderUIElements: <array of size 1> 865 899 AXRowHeaderUIElements: <array of size 1> 900 AXARIAColumnIndex: -1 901 AXARIARowIndex: -1 866 902 AXElementBusy: 0 867 903 AXRequired: 0 … … 896 932 AXColumnHeaderUIElements: <array of size 1> 897 933 AXRowHeaderUIElements: <array of size 1> 934 AXARIAColumnIndex: -1 935 AXARIARowIndex: -1 898 936 AXElementBusy: 0 899 937 AXRequired: 0 … … 928 966 AXColumnHeaderUIElements: <array of size 1> 929 967 AXRowHeaderUIElements: <array of size 1> 968 AXARIAColumnIndex: -1 969 AXARIARowIndex: -1 930 970 AXElementBusy: 0 931 971 AXRequired: 0 … … 960 1000 AXColumnHeaderUIElements: <array of size 1> 961 1001 AXRowHeaderUIElements: <array of size 1> 1002 AXARIAColumnIndex: -1 1003 AXARIARowIndex: -1 962 1004 AXElementBusy: 0 963 1005 AXRequired: 0 … … 992 1034 AXColumnHeaderUIElements: <array of size 1> 993 1035 AXRowHeaderUIElements: <array of size 1> 1036 AXARIAColumnIndex: -1 1037 AXARIARowIndex: -1 994 1038 AXElementBusy: 0 995 1039 AXRequired: 0 … … 1024 1068 AXColumnHeaderUIElements: <array of size 1> 1025 1069 AXRowHeaderUIElements: <array of size 1> 1070 AXARIAColumnIndex: -1 1071 AXARIARowIndex: -1 1026 1072 AXElementBusy: 0 1027 1073 AXRequired: 0 -
trunk/LayoutTests/platform/mac/accessibility/table-cell-spans-expected.txt
r180107 r190833 37 37 AXColumnHeaderUIElements: <array of size 0> 38 38 AXRowHeaderUIElements: <array of size 0> 39 AXARIAColumnIndex: -1 40 AXARIARowIndex: -1 39 41 AXElementBusy: 0 40 42 AXRequired: 0 … … 72 74 AXColumnHeaderUIElements: <array of size 0> 73 75 AXRowHeaderUIElements: <array of size 0> 76 AXARIAColumnIndex: -1 77 AXARIARowIndex: -1 74 78 AXElementBusy: 0 75 79 AXRequired: 0 … … 107 111 AXColumnHeaderUIElements: <array of size 0> 108 112 AXRowHeaderUIElements: <array of size 0> 113 AXARIAColumnIndex: -1 114 AXARIARowIndex: -1 109 115 AXElementBusy: 0 110 116 AXRequired: 0 … … 142 148 AXColumnHeaderUIElements: <array of size 0> 143 149 AXRowHeaderUIElements: <array of size 0> 150 AXARIAColumnIndex: -1 151 AXARIARowIndex: -1 144 152 AXElementBusy: 0 145 153 AXRequired: 0 … … 177 185 AXColumnHeaderUIElements: <array of size 0> 178 186 AXRowHeaderUIElements: <array of size 0> 187 AXARIAColumnIndex: -1 188 AXARIARowIndex: -1 179 189 AXElementBusy: 0 180 190 AXRequired: 0 -
trunk/LayoutTests/platform/mac/accessibility/table-cells-expected.txt
r180201 r190833 39 39 AXColumnHeaderUIElements: <array of size 0> 40 40 AXRowHeaderUIElements: <array of size 0> 41 AXARIAColumnIndex: -1 42 AXARIARowIndex: -1 41 43 AXElementBusy: 0 42 44 AXRequired: 0 … … 72 74 AXColumnHeaderUIElements: <array of size 1> 73 75 AXRowHeaderUIElements: <array of size 1> 76 AXARIAColumnIndex: -1 77 AXARIARowIndex: -1 74 78 AXElementBusy: 0 75 79 AXRequired: 0 … … 105 109 AXColumnHeaderUIElements: <array of size 0> 106 110 AXRowHeaderUIElements: <array of size 0> 111 AXARIAColumnIndex: -1 112 AXARIARowIndex: -1 107 113 AXElementBusy: 0 108 114 AXRequired: 0 … … 138 144 AXColumnHeaderUIElements: <array of size 1> 139 145 AXRowHeaderUIElements: <array of size 1> 146 AXARIAColumnIndex: -1 147 AXARIARowIndex: -1 140 148 AXElementBusy: 0 141 149 AXRequired: 0 … … 171 179 AXColumnHeaderUIElements: <array of size 1> 172 180 AXRowHeaderUIElements: <array of size 1> 181 AXARIAColumnIndex: -1 182 AXARIARowIndex: -1 173 183 AXElementBusy: 0 174 184 AXRequired: 0 -
trunk/LayoutTests/platform/mac/accessibility/table-detection-expected.txt
r180107 r190833 36 36 AXColumnCount: 2 37 37 AXRowCount: 2 38 AXARIAColumnCount: -1 39 AXARIARowCount: -1 38 40 AXElementBusy: 0 39 41 … … 78 80 AXColumnCount: 2 79 81 AXRowCount: 1 82 AXARIAColumnCount: -1 83 AXARIARowCount: -1 80 84 AXElementBusy: 0 81 85 … … 151 155 AXColumnCount: 2 152 156 AXRowCount: 1 157 AXARIAColumnCount: -1 158 AXARIARowCount: -1 153 159 AXElementBusy: 0 154 160 … … 192 198 AXColumnCount: 2 193 199 AXRowCount: 1 200 AXARIAColumnCount: -1 201 AXARIARowCount: -1 194 202 AXElementBusy: 0 195 203 … … 233 241 AXColumnCount: 2 234 242 AXRowCount: 2 243 AXARIAColumnCount: -1 244 AXARIARowCount: -1 235 245 AXElementBusy: 0 236 246 … … 275 285 AXColumnCount: 2 276 286 AXRowCount: 1 287 AXARIAColumnCount: -1 288 AXARIARowCount: -1 277 289 AXElementBusy: 0 278 290 … … 380 392 AXColumnCount: 2 381 393 AXRowCount: 1 394 AXARIAColumnCount: -1 395 AXARIARowCount: -1 382 396 AXElementBusy: 0 383 397 … … 491 505 AXColumnCount: 2 492 506 AXRowCount: 1 507 AXARIAColumnCount: -1 508 AXARIARowCount: -1 493 509 AXElementBusy: 0 494 510 … … 532 548 AXColumnCount: 2 533 549 AXRowCount: 2 550 AXARIAColumnCount: -1 551 AXARIARowCount: -1 534 552 AXElementBusy: 0 535 553 … … 607 625 AXColumnCount: 2 608 626 AXRowCount: 3 627 AXARIAColumnCount: -1 628 AXARIARowCount: -1 609 629 AXElementBusy: 0 610 630 … … 650 670 AXColumnCount: 2 651 671 AXRowCount: 3 672 AXARIAColumnCount: -1 673 AXARIARowCount: -1 652 674 AXElementBusy: 0 653 675 … … 693 715 AXColumnCount: 2 694 716 AXRowCount: 2 717 AXARIAColumnCount: -1 718 AXARIARowCount: -1 695 719 AXElementBusy: 0 696 720 … … 735 759 AXColumnCount: 1 736 760 AXRowCount: 24 761 AXARIAColumnCount: -1 762 AXARIARowCount: -1 737 763 AXElementBusy: 0 738 764 … … 799 825 AXColumnCount: 2 800 826 AXRowCount: 2 827 AXARIAColumnCount: -1 828 AXARIARowCount: -1 801 829 AXElementBusy: 0 802 830 -
trunk/LayoutTests/platform/mac/accessibility/table-sections-expected.txt
r180107 r190833 46 46 AXColumnHeaderUIElements: <array of size 0> 47 47 AXRowHeaderUIElements: <array of size 0> 48 AXARIAColumnIndex: -1 49 AXARIARowIndex: -1 48 50 AXElementBusy: 0 49 51 AXRequired: 0 … … 78 80 AXColumnHeaderUIElements: <array of size 0> 79 81 AXRowHeaderUIElements: <array of size 0> 82 AXARIAColumnIndex: -1 83 AXARIARowIndex: -1 80 84 AXElementBusy: 0 81 85 AXRequired: 0 … … 110 114 AXColumnHeaderUIElements: <array of size 0> 111 115 AXRowHeaderUIElements: <array of size 0> 116 AXARIAColumnIndex: -1 117 AXARIARowIndex: -1 112 118 AXElementBusy: 0 113 119 AXRequired: 0 … … 146 152 AXColumnHeaderUIElements: <array of size 0> 147 153 AXRowHeaderUIElements: <array of size 0> 154 AXARIAColumnIndex: -1 155 AXARIARowIndex: -1 148 156 AXElementBusy: 0 149 157 AXRequired: 0 … … 178 186 AXColumnHeaderUIElements: <array of size 1> 179 187 AXRowHeaderUIElements: <array of size 0> 188 AXARIAColumnIndex: -1 189 AXARIARowIndex: -1 180 190 AXElementBusy: 0 181 191 AXRequired: 0 … … 210 220 AXColumnHeaderUIElements: <array of size 1> 211 221 AXRowHeaderUIElements: <array of size 0> 222 AXARIAColumnIndex: -1 223 AXARIARowIndex: -1 212 224 AXElementBusy: 0 213 225 AXRequired: 0 … … 459 471 AXColumnHeaderUIElements: <array of size 0> 460 472 AXRowHeaderUIElements: <array of size 0> 473 AXARIAColumnIndex: -1 474 AXARIARowIndex: -1 461 475 AXElementBusy: 0 462 476 AXRequired: 0 … … 491 505 AXColumnHeaderUIElements: <array of size 0> 492 506 AXRowHeaderUIElements: <array of size 0> 507 AXARIAColumnIndex: -1 508 AXARIARowIndex: -1 493 509 AXElementBusy: 0 494 510 AXRequired: 0 … … 523 539 AXColumnHeaderUIElements: <array of size 0> 524 540 AXRowHeaderUIElements: <array of size 0> 541 AXARIAColumnIndex: -1 542 AXARIARowIndex: -1 525 543 AXElementBusy: 0 526 544 AXRequired: 0 … … 555 573 AXColumnHeaderUIElements: <array of size 1> 556 574 AXRowHeaderUIElements: <array of size 0> 575 AXARIAColumnIndex: -1 576 AXARIARowIndex: -1 557 577 AXElementBusy: 0 558 578 AXRequired: 0 … … 587 607 AXColumnHeaderUIElements: <array of size 1> 588 608 AXRowHeaderUIElements: <array of size 1> 609 AXARIAColumnIndex: -1 610 AXARIARowIndex: -1 589 611 AXElementBusy: 0 590 612 AXRequired: 0 … … 619 641 AXColumnHeaderUIElements: <array of size 0> 620 642 AXRowHeaderUIElements: <array of size 1> 643 AXARIAColumnIndex: -1 644 AXARIARowIndex: -1 621 645 AXElementBusy: 0 622 646 AXRequired: 0 … … 651 675 AXColumnHeaderUIElements: <array of size 1> 652 676 AXRowHeaderUIElements: <array of size 0> 677 AXARIAColumnIndex: -1 678 AXARIARowIndex: -1 653 679 AXElementBusy: 0 654 680 AXRequired: 0 … … 683 709 AXColumnHeaderUIElements: <array of size 1> 684 710 AXRowHeaderUIElements: <array of size 1> 711 AXARIAColumnIndex: -1 712 AXARIARowIndex: -1 685 713 AXElementBusy: 0 686 714 AXRequired: 0 … … 715 743 AXColumnHeaderUIElements: <array of size 0> 716 744 AXRowHeaderUIElements: <array of size 1> 745 AXARIAColumnIndex: -1 746 AXARIARowIndex: -1 717 747 AXElementBusy: 0 718 748 AXRequired: 0 … … 747 777 AXColumnHeaderUIElements: <array of size 1> 748 778 AXRowHeaderUIElements: <array of size 0> 779 AXARIAColumnIndex: -1 780 AXARIARowIndex: -1 749 781 AXElementBusy: 0 750 782 AXRequired: 0 … … 779 811 AXColumnHeaderUIElements: <array of size 1> 780 812 AXRowHeaderUIElements: <array of size 0> 813 AXARIAColumnIndex: -1 814 AXARIARowIndex: -1 781 815 AXElementBusy: 0 782 816 AXRequired: 0 … … 811 845 AXColumnHeaderUIElements: <array of size 0> 812 846 AXRowHeaderUIElements: <array of size 0> 847 AXARIAColumnIndex: -1 848 AXARIARowIndex: -1 813 849 AXElementBusy: 0 814 850 AXRequired: 0 … … 882 918 AXColumnHeaderUIElements: <array of size 0> 883 919 AXRowHeaderUIElements: <array of size 0> 920 AXARIAColumnIndex: -1 921 AXARIARowIndex: -1 884 922 AXElementBusy: 0 885 923 AXRequired: 0 … … 914 952 AXColumnHeaderUIElements: <array of size 0> 915 953 AXRowHeaderUIElements: <array of size 0> 954 AXARIAColumnIndex: -1 955 AXARIARowIndex: -1 916 956 AXElementBusy: 0 917 957 AXRequired: 0 … … 946 986 AXColumnHeaderUIElements: <array of size 0> 947 987 AXRowHeaderUIElements: <array of size 0> 988 AXARIAColumnIndex: -1 989 AXARIARowIndex: -1 948 990 AXElementBusy: 0 949 991 AXRequired: 0 … … 982 1024 AXColumnHeaderUIElements: <array of size 0> 983 1025 AXRowHeaderUIElements: <array of size 0> 1026 AXARIAColumnIndex: -1 1027 AXARIARowIndex: -1 984 1028 AXElementBusy: 0 985 1029 AXRequired: 0 … … 1014 1058 AXColumnHeaderUIElements: <array of size 1> 1015 1059 AXRowHeaderUIElements: <array of size 0> 1060 AXARIAColumnIndex: -1 1061 AXARIARowIndex: -1 1016 1062 AXElementBusy: 0 1017 1063 AXRequired: 0 … … 1046 1092 AXColumnHeaderUIElements: <array of size 1> 1047 1093 AXRowHeaderUIElements: <array of size 0> 1094 AXARIAColumnIndex: -1 1095 AXARIARowIndex: -1 1048 1096 AXElementBusy: 0 1049 1097 AXRequired: 0 … … 1295 1343 AXColumnHeaderUIElements: <array of size 0> 1296 1344 AXRowHeaderUIElements: <array of size 0> 1345 AXARIAColumnIndex: -1 1346 AXARIARowIndex: -1 1297 1347 AXElementBusy: 0 1298 1348 AXRequired: 0 … … 1327 1377 AXColumnHeaderUIElements: <array of size 0> 1328 1378 AXRowHeaderUIElements: <array of size 0> 1379 AXARIAColumnIndex: -1 1380 AXARIARowIndex: -1 1329 1381 AXElementBusy: 0 1330 1382 AXRequired: 0 … … 1359 1411 AXColumnHeaderUIElements: <array of size 0> 1360 1412 AXRowHeaderUIElements: <array of size 0> 1413 AXARIAColumnIndex: -1 1414 AXARIARowIndex: -1 1361 1415 AXElementBusy: 0 1362 1416 AXRequired: 0 … … 1391 1445 AXColumnHeaderUIElements: <array of size 1> 1392 1446 AXRowHeaderUIElements: <array of size 0> 1447 AXARIAColumnIndex: -1 1448 AXARIARowIndex: -1 1393 1449 AXElementBusy: 0 1394 1450 AXRequired: 0 … … 1423 1479 AXColumnHeaderUIElements: <array of size 1> 1424 1480 AXRowHeaderUIElements: <array of size 1> 1481 AXARIAColumnIndex: -1 1482 AXARIARowIndex: -1 1425 1483 AXElementBusy: 0 1426 1484 AXRequired: 0 … … 1455 1513 AXColumnHeaderUIElements: <array of size 0> 1456 1514 AXRowHeaderUIElements: <array of size 1> 1515 AXARIAColumnIndex: -1 1516 AXARIARowIndex: -1 1457 1517 AXElementBusy: 0 1458 1518 AXRequired: 0 … … 1487 1547 AXColumnHeaderUIElements: <array of size 1> 1488 1548 AXRowHeaderUIElements: <array of size 0> 1549 AXARIAColumnIndex: -1 1550 AXARIARowIndex: -1 1489 1551 AXElementBusy: 0 1490 1552 AXRequired: 0 … … 1519 1581 AXColumnHeaderUIElements: <array of size 1> 1520 1582 AXRowHeaderUIElements: <array of size 1> 1583 AXARIAColumnIndex: -1 1584 AXARIARowIndex: -1 1521 1585 AXElementBusy: 0 1522 1586 AXRequired: 0 … … 1551 1615 AXColumnHeaderUIElements: <array of size 0> 1552 1616 AXRowHeaderUIElements: <array of size 1> 1617 AXARIAColumnIndex: -1 1618 AXARIARowIndex: -1 1553 1619 AXElementBusy: 0 1554 1620 AXRequired: 0 … … 1583 1649 AXColumnHeaderUIElements: <array of size 1> 1584 1650 AXRowHeaderUIElements: <array of size 0> 1651 AXARIAColumnIndex: -1 1652 AXARIARowIndex: -1 1585 1653 AXElementBusy: 0 1586 1654 AXRequired: 0 … … 1615 1683 AXColumnHeaderUIElements: <array of size 1> 1616 1684 AXRowHeaderUIElements: <array of size 0> 1685 AXARIAColumnIndex: -1 1686 AXARIARowIndex: -1 1617 1687 AXElementBusy: 0 1618 1688 AXRequired: 0 … … 1647 1717 AXColumnHeaderUIElements: <array of size 0> 1648 1718 AXRowHeaderUIElements: <array of size 0> 1719 AXARIAColumnIndex: -1 1720 AXARIARowIndex: -1 1649 1721 AXElementBusy: 0 1650 1722 AXRequired: 0 -
trunk/LayoutTests/platform/mac/accessibility/table-with-rules-expected.txt
r180107 r190833 40 40 AXColumnCount: 2 41 41 AXRowCount: 1 42 AXARIAColumnCount: -1 43 AXARIARowCount: -1 42 44 AXElementBusy: 0 43 45 … … 77 79 AXColumnCount: 2 78 80 AXRowCount: 1 81 AXARIAColumnCount: -1 82 AXARIARowCount: -1 79 83 AXElementBusy: 0 80 84 … … 114 118 AXColumnCount: 2 115 119 AXRowCount: 1 120 AXARIAColumnCount: -1 121 AXARIARowCount: -1 116 122 AXElementBusy: 0 117 123 -
trunk/Source/WebCore/ChangeLog
r190826 r190833 1 2015-10-09 Nan Wang <n_wang@apple.com> 2 3 AX: ARIA 1.1 implement aria-colcount, aria-colindex, aria-colspan, aria-rowcount, aria-rowindex and aria-rowspan 4 https://bugs.webkit.org/show_bug.cgi?id=148967 5 6 Reviewed by Chris Fleizach. 7 8 Added support for ARIA 1.1 table/grid related attributes. Created new attributes for mac, so 9 VoiceOver can pick up the information and speak accordingly. 10 11 Test: accessibility/mac/aria-table-attributes.html 12 13 * accessibility/AccessibilityARIAGridCell.cpp: 14 (WebCore::AccessibilityARIAGridCell::AccessibilityARIAGridCell): 15 (WebCore::AccessibilityARIAGridCell::rowIndexRange): 16 (WebCore::AccessibilityARIAGridCell::columnIndexRange): 17 (WebCore::AccessibilityARIAGridCell::parentRowGroup): 18 * accessibility/AccessibilityARIAGridCell.h: 19 * accessibility/AccessibilityObject.cpp: 20 (WebCore::initializeRoleMap): 21 * accessibility/AccessibilityObject.h: 22 * accessibility/AccessibilityTable.cpp: 23 (WebCore::AccessibilityTable::title): 24 (WebCore::AccessibilityTable::ariaColumnCount): 25 (WebCore::AccessibilityTable::ariaRowCount): 26 * accessibility/AccessibilityTable.h: 27 * accessibility/AccessibilityTableCell.cpp: 28 (WebCore::AccessibilityTableCell::AccessibilityTableCell): 29 (WebCore::AccessibilityTableCell::titleUIElement): 30 (WebCore::AccessibilityTableCell::ariaColumnIndex): 31 (WebCore::AccessibilityTableCell::ariaRowIndex): 32 (WebCore::AccessibilityTableCell::ariaColumnSpan): 33 (WebCore::AccessibilityTableCell::ariaRowSpan): 34 * accessibility/AccessibilityTableCell.h: 35 (WebCore::AccessibilityTableCell::setARIAColIndexFromRow): 36 * accessibility/AccessibilityTableRow.cpp: 37 (WebCore::AccessibilityTableRow::headerObject): 38 (WebCore::AccessibilityTableRow::addChildren): 39 (WebCore::AccessibilityTableRow::ariaColumnIndex): 40 (WebCore::AccessibilityTableRow::ariaRowIndex): 41 * accessibility/AccessibilityTableRow.h: 42 * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: 43 (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]): 44 (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): 45 * html/HTMLAttributeNames.in: 46 1 47 2015-10-09 Anders Carlsson <andersca@apple.com> 2 48 -
trunk/Source/WebCore/accessibility/AccessibilityARIAGridCell.cpp
r184198 r190833 33 33 #include "AccessibilityTable.h" 34 34 #include "AccessibilityTableRow.h" 35 #include "HTMLNames.h" 35 36 36 37 namespace WebCore { 37 38 39 using namespace HTMLNames; 40 38 41 AccessibilityARIAGridCell::AccessibilityARIAGridCell(RenderObject* renderer) 39 42 : AccessibilityTableCell(renderer) … … 89 92 } 90 93 91 // as far as I can tell, grid cells cannot span rows 92 rowRange.second = 1; 94 // ARIA 1.1, aria-rowspan attribute is intended for cells and gridcells which are not contained in a native table. 95 // So we should check for that attribute here. 96 rowRange.second = ariaRowSpanWithRowIndex(rowRange.first); 97 } 98 99 unsigned AccessibilityARIAGridCell::ariaRowSpanWithRowIndex(unsigned rowIndex) const 100 { 101 unsigned rowSpan = AccessibilityTableCell::ariaRowSpan(); 102 AccessibilityObject* parent = parentObjectUnignored(); 103 if (!parent) 104 return 1; 105 106 // Setting the value to 0 indicates that the cell or gridcell is to span all the remaining rows in the row group. 107 if (!rowSpan) { 108 // rowSpan defaults to 1. 109 rowSpan = 1; 110 if (AccessibilityObject* parentRowGroup = this->parentRowGroup()) { 111 // If the row group is the parent table, we use total row count to calculate the span. 112 if (is<AccessibilityTable>(*parentRowGroup)) 113 rowSpan = downcast<AccessibilityTable>(*parentRowGroup).rowCount() - rowIndex; 114 // Otherwise, we have to get the index for the current row within the parent row group. 115 else if (is<AccessibilityTableRow>(*parent)) { 116 const auto& siblings = parentRowGroup->children(); 117 unsigned rowCount = siblings.size(); 118 for (unsigned k = 0; k < rowCount; ++k) { 119 if (siblings[k].get() == parent) { 120 rowSpan = rowCount - k; 121 break; 122 } 123 } 124 } 125 } 126 } 127 128 return rowSpan; 93 129 } 94 130 … … 112 148 } 113 149 114 // as far as I can tell, grid cells cannot span columns 115 columnRange.second = 1; 150 // ARIA 1.1, aria-colspan attribute is intended for cells and gridcells which are not contained in a native table. 151 // So we should check for that attribute here. 152 columnRange.second = ariaColumnSpan(); 153 } 154 155 AccessibilityObject* AccessibilityARIAGridCell::parentRowGroup() const 156 { 157 for (AccessibilityObject* parent = parentObject(); parent; parent = parent->parentObject()) { 158 if (parent->hasTagName(theadTag) || parent->hasTagName(tbodyTag) || parent->hasTagName(tfootTag) || parent->roleValue() == RowGroupRole) 159 return parent; 160 } 161 162 // If there's no row group found, we use the parent table as the row group. 163 return parentTable(); 116 164 } 117 165 -
trunk/Source/WebCore/accessibility/AccessibilityARIAGridCell.h
r177733 r190833 48 48 49 49 virtual AccessibilityTable* parentTable() const override; 50 AccessibilityObject* parentRowGroup() const; 51 unsigned ariaRowSpanWithRowIndex(unsigned index) const; 50 52 }; 51 53 -
trunk/Source/WebCore/accessibility/AccessibilityObject.cpp
r190674 r190833 1976 1976 { "region", DocumentRegionRole }, 1977 1977 { "row", RowRole }, 1978 { "rowgroup", RowGroupRole }, 1978 1979 { "scrollbar", ScrollBarRole }, 1979 1980 { "search", LandmarkSearchRole }, -
trunk/Source/WebCore/accessibility/AccessibilityObject.h
r190648 r190833 180 180 RowHeaderRole, 181 181 RowRole, 182 RowGroupRole, 182 183 RubyBaseRole, 183 184 RubyBlockRole, -
trunk/Source/WebCore/accessibility/AccessibilityTable.cpp
r188203 r190833 676 676 } 677 677 678 int AccessibilityTable::ariaColumnCount() const 679 { 680 const AtomicString& colCountValue = getAttribute(aria_colcountAttr); 681 682 int colCountInt = colCountValue.toInt(); 683 // If only a portion of the columns is present in the DOM at a given moment, this attribute is needed to 684 // provide an explicit indication of the number of columns in the full table. 685 if (colCountInt > (int)m_columns.size()) 686 return colCountInt; 687 688 return -1; 689 } 690 691 int AccessibilityTable::ariaRowCount() const 692 { 693 const AtomicString& rowCountValue = getAttribute(aria_rowcountAttr); 694 695 int rowCountInt = rowCountValue.toInt(); 696 // If only a portion of the rows is present in the DOM at a given moment, this attribute is needed to 697 // provide an explicit indication of the number of rows in the full table. 698 if (rowCountInt > (int)m_rows.size()) 699 return rowCountInt; 700 701 return -1; 702 } 703 678 704 } // namespace WebCore -
trunk/Source/WebCore/accessibility/AccessibilityTable.h
r188203 r190833 75 75 // isExposableThroughAccessibility() is whether it is exposed as an AccessibilityTable to the platform. 76 76 bool isExposableThroughAccessibility() const; 77 78 int ariaColumnCount() const; 79 int ariaRowCount() const; 77 80 78 81 protected: -
trunk/Source/WebCore/accessibility/AccessibilityTableCell.cpp
r188769 r190833 45 45 AccessibilityTableCell::AccessibilityTableCell(RenderObject* renderer) 46 46 : AccessibilityRenderObject(renderer) 47 , m_ariaColIndexFromRow(-1) 47 48 { 48 49 } … … 371 372 } 372 373 374 int AccessibilityTableCell::ariaColumnIndex() const 375 { 376 const AtomicString& colIndexValue = getAttribute(aria_colindexAttr); 377 if (colIndexValue.toInt() >= 1) 378 return colIndexValue.toInt(); 379 380 // "ARIA 1.1: If the set of columns which is present in the DOM is contiguous, and if there are no cells which span more than one row 381 // or column in that set, then authors may place aria-colindex on each row, setting the value to the index of the first column of the set." 382 // Here, we let its parent row to set its index beforehand, so we don't have to go through the siblings to calculate the index. 383 AccessibilityTableRow* parentRow = this->parentRow(); 384 if (parentRow && m_ariaColIndexFromRow != -1) 385 return m_ariaColIndexFromRow; 386 387 return -1; 388 } 389 390 int AccessibilityTableCell::ariaRowIndex() const 391 { 392 // ARIA 1.1: Authors should place aria-rowindex on each row. Authors may also place 393 // aria-rowindex on all of the children or owned elements of each row. 394 const AtomicString& rowIndexValue = getAttribute(aria_rowindexAttr); 395 if (rowIndexValue.toInt() >= 1) 396 return rowIndexValue.toInt(); 397 398 if (AccessibilityTableRow* parentRow = this->parentRow()) 399 return parentRow->ariaRowIndex(); 400 401 return -1; 402 } 403 404 unsigned AccessibilityTableCell::ariaColumnSpan() const 405 { 406 const AtomicString& colSpanValue = getAttribute(aria_colspanAttr); 407 // ARIA 1.1: Authors must set the value of aria-colspan to an integer greater than or equal to 1. 408 if (colSpanValue.toInt() >= 1) 409 return colSpanValue.toInt(); 410 411 return 1; 412 } 413 414 unsigned AccessibilityTableCell::ariaRowSpan() const 415 { 416 const AtomicString& rowSpanValue = getAttribute(aria_rowspanAttr); 417 418 // ARIA 1.1: Authors must set the value of aria-rowspan to an integer greater than or equal to 0. 419 // Setting the value to 0 indicates that the cell or gridcell is to span all the remaining rows in the row group. 420 if (equalIgnoringCase(rowSpanValue, "0")) 421 return 0; 422 if (rowSpanValue.toInt() >= 1) 423 return rowSpanValue.toInt(); 424 425 return 1; 426 } 427 373 428 } // namespace WebCore -
trunk/Source/WebCore/accessibility/AccessibilityTableCell.h
r188769 r190833 54 54 void columnHeaders(AccessibilityChildrenVector&); 55 55 void rowHeaders(AccessibilityChildrenVector&); 56 57 int ariaColumnIndex() const; 58 int ariaRowIndex() const; 59 unsigned ariaColumnSpan() const; 60 unsigned ariaRowSpan() const; 61 void setARIAColIndexFromRow(int index) { m_ariaColIndexFromRow = index; } 56 62 57 63 protected: … … 63 69 64 70 int m_rowIndex; 71 int m_ariaColIndexFromRow; 65 72 66 73 private: -
trunk/Source/WebCore/accessibility/AccessibilityTableRow.cpp
r188203 r190833 138 138 } 139 139 140 void AccessibilityTableRow::addChildren() 141 { 142 AccessibilityRenderObject::addChildren(); 143 144 // "ARIA 1.1, If the set of columns which is present in the DOM is contiguous, and if there are no cells which span more than one row or 145 // column in that set, then authors may place aria-colindex on each row, setting the value to the index of the first column of the set." 146 // Update child cells' ariaColIndex if there's an aria-colindex value set for the row. So the cell doesn't have to go through the siblings 147 // to calculate the index. 148 int colIndex = ariaColumnIndex(); 149 if (colIndex == -1) 150 return; 151 152 unsigned index = 0; 153 for (const auto& cell : children()) { 154 if (is<AccessibilityTableCell>(*cell)) 155 downcast<AccessibilityTableCell>(*cell).setARIAColIndexFromRow(colIndex + index); 156 index++; 157 } 158 } 159 160 int AccessibilityTableRow::ariaColumnIndex() const 161 { 162 const AtomicString& colIndexValue = getAttribute(aria_colindexAttr); 163 if (colIndexValue.toInt() >= 1) 164 return colIndexValue.toInt(); 165 166 return -1; 167 } 168 169 int AccessibilityTableRow::ariaRowIndex() const 170 { 171 const AtomicString& rowIndexValue = getAttribute(aria_rowindexAttr); 172 if (rowIndexValue.toInt() >= 1) 173 return rowIndexValue.toInt(); 174 175 return -1; 176 } 177 140 178 } // namespace WebCore -
trunk/Source/WebCore/accessibility/AccessibilityTableRow.h
r177733 r190833 52 52 void appendChild(AccessibilityObject*); 53 53 54 virtual void addChildren() override; 55 56 int ariaColumnIndex() const; 57 int ariaRowIndex() const; 58 54 59 protected: 55 60 explicit AccessibilityTableRow(RenderObject*); -
trunk/Source/WebCore/accessibility/ios/WebAccessibilityObjectWrapperIOS.mm
r189994 r190833 801 801 case WebAreaRole: 802 802 case WindowRole: 803 case RowGroupRole: 803 804 return false; 804 805 } -
trunk/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm
r190648 r190833 251 251 #ifndef NSAccessibilityARIACurrentAttribute 252 252 #define NSAccessibilityARIACurrentAttribute @"AXARIACurrent" 253 #endif 254 255 // Table/grid attributes 256 #ifndef NSAccessibilityARIAColumnIndexAttribute 257 #define NSAccessibilityARIAColumnIndexAttribute @"AXARIAColumnIndex" 258 #endif 259 260 #ifndef NSAccessibilityARIARowIndexAttribute 261 #define NSAccessibilityARIARowIndexAttribute @"AXARIARowIndex" 262 #endif 263 264 #ifndef NSAccessibilityARIAColumnCountAttribute 265 #define NSAccessibilityARIAColumnCountAttribute @"AXARIAColumnCount" 266 #endif 267 268 #ifndef NSAccessibilityARIARowCountAttribute 269 #define NSAccessibilityARIARowCountAttribute @"AXARIARowCount" 253 270 #endif 254 271 … … 1552 1569 [tempArray addObject:NSAccessibilityColumnCountAttribute]; 1553 1570 [tempArray addObject:NSAccessibilityRowCountAttribute]; 1571 [tempArray addObject:NSAccessibilityARIAColumnCountAttribute]; 1572 [tempArray addObject:NSAccessibilityARIARowCountAttribute]; 1554 1573 tableAttrs = [[NSArray alloc] initWithArray:tempArray]; 1555 1574 [tempArray release]; … … 1576 1595 [tempArray addObject:NSAccessibilityColumnHeaderUIElementsAttribute]; 1577 1596 [tempArray addObject:NSAccessibilityRowHeaderUIElementsAttribute]; 1597 [tempArray addObject:NSAccessibilityARIAColumnIndexAttribute]; 1598 [tempArray addObject:NSAccessibilityARIARowIndexAttribute]; 1578 1599 tableCellAttrs = [[NSArray alloc] initWithArray:tempArray]; 1579 1600 [tempArray release]; … … 2731 2752 if ([attributeName isEqualToString:NSAccessibilityRowCountAttribute]) 2732 2753 return @(table.rowCount()); 2754 2755 if ([attributeName isEqualToString:NSAccessibilityARIAColumnCountAttribute]) 2756 return @(table.ariaColumnCount()); 2757 2758 if ([attributeName isEqualToString:NSAccessibilityARIARowCountAttribute]) 2759 return @(table.ariaRowCount()); 2733 2760 } 2734 2761 … … 2773 2800 return convertToNSArray(rowHeaders); 2774 2801 } 2802 if ([attributeName isEqualToString:NSAccessibilityARIAColumnIndexAttribute]) 2803 return @(cell.ariaColumnIndex()); 2804 2805 if ([attributeName isEqualToString:NSAccessibilityARIARowIndexAttribute]) 2806 return @(cell.ariaRowIndex()); 2775 2807 } 2776 2808 -
trunk/Source/WebCore/html/HTMLAttributeNames.in
r190674 r190833 18 18 aria-busy 19 19 aria-checked 20 aria-colcount 21 aria-colindex 22 aria-colspan 20 23 aria-controls 21 24 aria-current … … 46 49 aria-required 47 50 aria-roledescription 51 aria-rowcount 52 aria-rowindex 53 aria-rowspan 48 54 aria-selected 49 55 aria-setsize
Note: See TracChangeset
for help on using the changeset viewer.