/usr/share/help/el/accessibility-devel-guide/index.docbook is in gnome-devel-docs 3.28.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 | <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY gnomeversion "2.24">
<!ENTITY manrevision "2.24.0">
<!ENTITY date "September 2008">
<!ENTITY LEGAL SYSTEM "legal.xml">
<!ENTITY gad SYSTEM "gad.xml">
<!ENTITY gtest SYSTEM "gtest.xml">
]>
<?db.chunk.max_depth 4?>
<book id="index" lang="el">
<title>Οδηγός προσιτότητας GNOME για προγραμματιστές</title>
<bookinfo>
<abstract role="description">
<para>Ο οδηγός προσιτότητας GNOME είναι για προγραμματιστές που θέλουν να εξασφαλίσουν ότι το λογισμικό που παράγουν είναι προσιτό από όσο το δυνατόν περισσότερους χρήστες. Ο οδηγός καλύπτεί και αρκετές από τις απαιτήσεις του Section 508 (αμερικανικό δίκαιο για προσιτότητα προϊόντων).</para>
</abstract>
<copyright><year>2008</year> <holder>Vincent Alexander</holder></copyright>
<copyright><year>2001, 2002</year> <holder>Calum Benson, Brian Cameron, Bill Haneman, Padraig O'Briain, Sharon Snider</holder></copyright>
<publisher role="maintainer">
<publishername>Έργο τεκμηρίωσης GNOME</publishername>
</publisher>
<legalnotice id="legalnotice">
<para>Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης του παρόντος εγγράφου υπό τους όρους της έκδοσης 1.1 της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), ή οποιασδήποτε μεταγενέστερης έκδοσής αυτής από το Ίδρυμα Ελεύθερου Λογισμικού (FSF), χωρίς αμετάβλητες ενότητες, κείμενα εμπροσθοφύλλου και κείμενα οπισθοφύλλου. Αντίγραφο της άδειας GFDL είναι διαθέσιμο στον ακόλουθο <ulink type="help" url="ghelp:fdl">σύνδεσμο</ulink>, ή στο αρχείο COPYING-DOCS που διανέμεται μαζί με το παρόν εγχειρίδιο.</para>
<para>Αυτό το εγχειρίδιο αποτελεί μέρος της συλλογής εγχειριδίων του GNOME που διανέμονται υπό τους όρους της GFDL. Αν επιθυμείτε να διανείμετε το παρόν εγχειρίδιο ξεχωριστά από τη συλλογή, οφείλετε να προσθέσετε στο εγχειρίδιο αντίγραφο της άδειας χρήσης, όπως προβλέπεται στην ενότητα 6 της άδειας.</para>
<para>Πολλά από τα ονόματα που χρησιμοποιούνται από εταιρίες για να ξεχωρίσουν τα προϊόντα και τις υπηρεσίες είναι σήματα κατατεθέντα. Όπου αυτά τα ονόματα εμφανίζονται στην τεκμηρίωση GNOME και τα μέλη της ομάδας τεκμηρίωσης GNOME έχουν γνώση αυτών, τότε αυτά αναγράφονται με κεφαλαίους χαρακτήρες ή με αρχικούς κεφαλαίους χαρακτήρες.</para>
<para>ΤΟ ΕΓΓΡΑΦΟ ΚΑΙ ΟΙ ΤΡΟΠΟΠΟΙΗΜΕΝΕΣ ΕΚΔΟΣΕΙΣ ΤΟΥ ΕΓΓΡΑΦΟΥ ΠΑΡΕΧΟΝΤΑΙ ΥΠΟ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΕΛΕΥΘΕΡΗΣ ΑΔΕΙΑΣ ΤΕΚΜΗΡΙΩΣΗΣ GNU ΜΕ ΤΗΝ ΠΕΡΑΙΤΕΡΩ ΚΑΤΑΝΟΗΣΗ ΟΤΙ: <orderedlist>
<listitem>
<para>ΤΟ ΠΑΡΟΝ ΕΓΓΡΑΦΟ ΠΑΡΕΧΕΤΑΙ "ΩΣ ΕΧΕΙ", ΧΩΡΙΣ ΟΠΟΙΑΔΗΠΟΤΕ ΑΛΛΗ ΕΓΓΥΗΣΗ, ΕΙΤΕ ΡΗΤΗ ΕΙΤΕ ΣΙΩΠΗΡΗ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΗΣ, ΧΩΡΙΣ ΠΕΡΙΟΡΙΣΜΟ, ΤΗΣ ΕΓΓΥΗΣΗΣ ΟΤΙ ΤΟ ΕΓΓΡΑΦΟ, Ή Η ΤΡΟΠΟΠΟΙΗΜΕΝΗ ΕΚΔΟΣΗ ΑΥΤΟΥ, ΕΙΝΑΙ ΕΜΠΟΡΕΥΣΙΜΟ, ΚΑΤΑΛΛΗΛΟ ΓΙΑ ΕΙΔΙΚΟ ΣΚΟΠΟ ΚΑΙ ΔΕΝ ΠΡΟΣΒΑΛΛΕΙ ΔΙΚΑΙΩΜΑΤΑ ΤΡΙΤΩΝ. Ο ΧΡΗΣΤΗΣ ΑΝΑΛΑΜΒΑΝΕΙ ΕΞ ΟΛΟΚΛΗΡΟΥ ΤΗΝ ΕΘΥΝΗ ΩΣ ΠΡΟΣ ΤΗΝ ΠΟΙΟΤΗΤΑ, ΤΗΝ ΑΚΡΙΒΕΙΑ ΚΑΙ ΤΗΝ ΧΡΗΣΗ ΤΟΥ ΕΓΓΡΑΦΟΥ Ή ΤΗΣ ΤΡΟΠΟΠΟΙΗΜΕΝΗΣ ΕΚΔΟΣΗΣ ΑΥΤΟΥ. ΣΕ ΠΕΡΙΠΤΩΣΗ ΠΟΥ ΟΠΟΙΟΔΗΠΟΤΕ ΕΓΓΡΑΦΟ Ή ΤΡΟΠΟΠΟΙΗΜΕΝΗ ΕΚΔΟΣΗ ΑΥΤΟΥ ΑΠΟΔΕΙΧΘΟΥΝ ΕΛΑΤΤΩΜΑΤΙΚΑ ΚΑΘ' ΟΙΟΝΔΗΠΟΤΕ ΤΡΟΠΟ, Ο ΧΡΗΣΤΗΣ (ΚΑΙ ΟΧΙ Ο ΑΡΧΙΚΟΣ ΣΥΓΓΡΑΦΕΑΣ, ΔΗΜΙΟΥΡΓΟΣ Ή ΟΠΟΙΟΣΔΗΠΟΤΕ ΣΥΝΤΕΛΕΣΤΗΣ) ΑΝΑΛΑΜΒΑΝΕΙ ΤΟ ΚΟΣΤΟΣ ΟΠΟΙΑΣΔΗΠΟΤΕ ΑΝΑΓΚΑΙΑΣ ΣΥΝΤΗΡΗΣΗΣ, ΕΠΙΣΚΕΥΗΣ Ή ΔΙΟΡΘΩΣΗΣ. Η ΠΑΡΟΥΣΑ ΑΠΟΠΟΙΗΣΗ ΕΓΓΥΗΣΗΣ ΑΠΟΤΕΛΕΙ ΑΝΑΠΟΣΠΑΣΤΟ ΜΕΡΟΣ ΤΗΣ ΑΔΕΙΑΣ. ΔΕΝ ΕΠΙΤΡΕΠΕΤΑΙ ΟΥΔΕΜΙΑ ΧΡΗΣΗ ΤΟΥ ΕΓΓΡΑΦΟΥ Ή ΤΡΟΠΟΠΟΙΗΜΕΝΩΝ ΕΚΔΟΣΕΩΝ ΑΥΤΟΥ ΣΥΜΦΩΝΑ ΜΕ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΠΑΡΟΥΣΑΣ, ΠΑΡΑ ΜΟΝΟ ΕΑΝ ΣΥΝΟΔΕΥΕΤΑΙ ΑΠΟ ΤΗΝ ΑΠΟΠΟΙΗΣΗ ΕΓΓΥΗΣΗΣ, ΚΑΙ</para>
</listitem>
<listitem>
<para>Ο ΔΗΜΙΟΥΡΓΟΣ, Ο ΑΡΧΙΚΟΣ ΣΥΓΓΡΑΦΕΑΣ, ΟΙ ΣΥΝΤΕΛΕΣΤΕΣ ΚΑΙ ΟΙ ΔΙΑΝΟΜΕΙΣ ΤΟΥ ΕΓΓΡΑΦΟΥ Η ΤΡΟΠΟΠΟΙΗΜΕΝΗΣ ΕΚΔΟΣΗΣ ΑΥΤΟΥ, ΚΑΘΩΣ ΚΑΙ ΟΙ ΠΡΟΜΗΘΕΥΤΕΣ ΤΩΝ ΠΡΟΑΝΑΦΕΡΟΜΕΝΩΝ ΜΕΡΩΝ, ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΚΑΙ ΥΠΟ ΚΑΜΙΑ ΝΟΜΙΚΗ ΕΡΜΗΝΕΙΑ ΤΟΥ ΑΣΤΙΚΟΥ (ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΗΣ ΤΗΣ ΑΜΕΛΕΙΑΣ), ΤΟΥ ΕΝΟΧΙΚΟΥ Η ΑΛΛΟΥ ΔΙΚΑΙΟΥ, ΔΕΝ ΕΥΘΥΝΟΝΤΑΙ ΕΝΑΝΤΙ ΟΙΟΥΔΗΠΟΤΕ ΓΙΑ ΤΥΧΟΝ ΑΜΕΣΕΣ, ΕΜΜΕΣΕΣ, ΕΙΔΙΚΕΣ, ΤΥΧΑΙΕΣ Η ΣΥΝΕΠΑΚΟΛΟΥΘΕΣ ΖΗΜΙΕΣ ΟΠΟΙΑΣΔΗΠΟΤΕ ΜΟΡΦΗΣ, ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΜΕΝΩΝ, ΧΩΡΙΣ ΝΑ ΠΕΡΙΟΡΙΖΟΝΤΑΙ ΣΕ ΑΥΤΕΣ, ΖΗΜΙΩΝ ΛΟΓΩ ΑΠΩΛΕΙΑΣ ΦΗΜΗΣ ΚΑΙ ΠΕΛΑΤΕΙΑΣ, ΔΙΑΚΟΠΗΣ ΕΡΓΑΣΙΩΝ, ΔΥΣΛΕΙΤΟΥΡΓΕΙΑΣ Η ΒΛΑΒΗΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ, Η ΚΑΘΕ ΑΛΛΗΣ ΖΗΜΙΑΣ Η ΑΠΩΛΕΙΑΣ ΠΟΥ ΟΦΕΙΛΕΤΑΙ ΣΕ Η ΣΧΕΤΙΖΕΤΑΙ ΜΕ ΤΗ ΧΡΗΣΗ ΤΟΥ ΕΓΓΡΑΦΟΥ ΚΑΙ ΤΩΝ ΤΡΟΠΟΠΟΙΗΜΕΝΩΝ ΕΚΔΟΣΕΩΝ ΑΥΤΟΥ, ΑΚΟΜΑ ΚΑΙ ΑΝ ΤΑ ΩΣ ΑΝΩ ΜΕΡΗ ΕΙΧΑΝ ΛΑΒΕΙ ΓΝΩΣΗ ΤΗΣ ΠΙΘΑΝΟΤΗΤΑΣ ΠΡΟΚΛΗΣΗΣ ΤΕΤΟΙΩΝ ΖΗΜΙΩΝ.</para>
</listitem>
</orderedlist></para>
</legalnotice>
<authorgroup>
<author><firstname>Vincent</firstname> <surname>Alexander</surname> <affiliation> <orgname>Έργο τεκμηρίωσης GNOME</orgname> </affiliation></author>
<author><firstname>Calum</firstname> <surname>Benson</surname> <affiliation> <orgname>Έργο τεκμηρίωσης GNOME</orgname> </affiliation></author>
<author><firstname>Brian</firstname> <surname>Cameron</surname> <affiliation> <orgname>Έργο τεκμηρίωσης GNOME</orgname> </affiliation></author>
<author><firstname>Bill</firstname> <surname>Haneman</surname> <affiliation> <orgname>Έργο τεκμηρίωσης GNOME</orgname> </affiliation></author>
<author><firstname>Padraig</firstname> <surname>O'Briain</surname> <affiliation> <orgname>Έργο τεκμηρίωσης GNOME</orgname> </affiliation></author>
<author><firstname>Sharon</firstname> <surname>Snider</surname> <affiliation> <orgname>Έργο τεκμηρίωσης GNOME</orgname> </affiliation></author>
</authorgroup>
<revhistory>
<revision><revnumber> Οδηγός προσιτότητας GNOME 2.24 για προγραμματιστές V2.24.0 </revnumber> <date>Σεπτέμβριος 2008</date> <revdescription>
<para role="author">Έργο τεκμηρίωσης GNOME</para>
<para role="publisher">Έργο τεκμηρίωσης GNOME</para>
</revdescription></revision>
<revision><revnumber> Οδηγός προσιτότητας GNOME 2.24 για προγραμματιστές V2.24.0 </revnumber> <date>Σεπτέμβριος 2008</date> <revdescription>
<para role="author">Έργο τεκμηρίωσης GNOME</para>
<para role="publisher">Έργο τεκμηρίωσης GNOME</para>
</revdescription></revision>
</revhistory>
<releaseinfo>Αυτό το εγχειρίδιο περιγράφει την έκδοση 2.24 της επιφάνειας εργασίας GNOME.</releaseinfo>
<legalnotice>
<title>Ανάδραση</title>
<para>Για να αναφέρετε ένα σφάλμα ή να κάνετε μια πρόταση σχετικά με την επιφάνεια εργασίας GNOME ή αυτό το εγχειρίδιο, ακολουθήστε τις οδηγίες στη <ulink type="help" url="ghelp:user-guide?feedback">σελίδα ανάδρασης του GNOME</ulink>.</para>
</legalnotice>
<othercredit class="translator">
<personname>
<firstname>Δημήτρης Σπίγγος</firstname>
</personname>
<email>dmtrs32@gmail.com</email>
</othercredit>
<copyright>
<year>2013</year>
<holder>Δημήτρης Σπίγγος</holder>
</copyright>
<othercredit class="translator">
<personname>
<firstname>Γιάννης Κατσαμπίρης</firstname>
</personname>
<email>juankatsampirhs@gmail.com</email>
</othercredit>
<copyright>
<year>2010</year>
<holder>Γιάννης Κατσαμπίρης</holder>
</copyright>
</bookinfo>
<chapter id="gad" status="draft">
<title>Τι είναι η προσιτότητα;</title>
<para>Προσιτότητα σημαίνει να προσφέρουμε σε ανθρώπους με αναπηρία τη δυνατότητα να συμμετέχουν σε βασικές δραστηριότητες της ζωής. Αυτό περιλαμβάνει την εργασία και τη χρήση των υπηρεσιών, των προϊόντων και των πληροφοριών. Το GNOME περιλαμβάνει βιβλιοθήκες και ένα υποστηρικτικό πλαίσιο το οποίο επιτρέπει στους ανθρώπους με αναπηρίες να εκμεταλλευτούν πλήρως τη λειτουργικότητα του περιβάλλοντος εργασίας GNOME.</para>
<para>Σε συνδυασμό με τεχνολογίες υποβοήθησης αν είναι απαραίτητες - επικοινωνία με ομιλία, αναγνώστες οθόνης, εναλλακτικές συσκευές εισόδου κ.ο.κ. - άνθρωποι με παροδικές ή μόνιμες ανικανότητες μπορούν να χρησιμοποιήσουν την επιφάνεια εργασίας GNOME και τις εφαρμογές της. Οι τεχνολογίες υποβοήθησης είναι επίσης χρήσιμες σε ανθρώπους που χρησιμοποιούν τους υπολογιστές τους έξω από το σπίτι ή το γραφείο τους. Για παράδειγμα αν έχετε κολλήσει στην κίνηση, μπορείτε να χρησιμοποιήσετε την επικοινωνία με ομιλία για να ελέγξετε την ηλεκτρονική σας αλληλογραφία.</para>
<para>Οι τεχνολογίες υποβοήθησης δέχονται πληροφορίες από τις εφαρμογές μέσω της του API της Εργαλειοθήκης Προσιτότητας (Accessibility Toolkit, ATK) το οποίο μπορεί κανείς να βρει μέσα στο άρθρωμα atk στα αποθετήρια του GNOME. Εξαιτίας της εγγενούς υποστήριξης του API προσιτότητας στα GNOME widgets, το πρόγραμμά σας θα πρέπει να συνεργάζεται καλά με τις τεχνολογίες υποβοήθησης, χωρίς επιπλέον κόπο από την πλευρά σας. Για παράδειγμα οι τεχνολογίες υποβοήθησης μπορούν να διαβάζουν αυτόματα τις ετικέτες widget τις οποίες κανονικά θα βάζατε στο πρόγραμμά σας ούτως ή άλλως (για παράδειγμα με τις κλήσεις εφαρμογής GTK όπως <function>gtk_label_set_text()</function> ή <function>gtk_button_new_with_label()</function>). Επίσης μπορούν να βρουν αν υπάρχει κάποιο κείμενο tooltip συνδεδεμένο με ένα widget, και να το χρησιμοποιήσουν για να περιγράψουν το widget στον χρήστη.</para>
<para>Ωστόσο με λίγη επιπλέον προσπάθεια μπορείτε να κάνετε το πρόγραμμά σας να συνεργάζεται με ακόμη καλύτερο τρόπο με τις τεχνολογίες υποβοήθησης. Έτσι το προϊόν της εργασίας σας όχι μόνο θα βοηθάει μεμονωμένους χρήστες αλλά θα είναι και περισσότερο ελκυστικό στις κυβερνήσεις και τις εκπαιδευτικές αγορές, πολλές από τις οποίες πλέον απαιτούν με σχετική νομοθεσία από τις εφαρμογές να είναι προσιτές.</para>
<section>
<title>Τύποι αναπηρίας</title>
<para>Μόνο στις ΗΠΑ, υπάρχει ένας εκτιμώμενος αριθμός 30.000.000 ανθρώπων των οποίων η δυνατότητα να χρησιμοποιούν ηλεκτρονικούς υπολογιστές ίσως περιορίζεται από σχεδιασμό που έγινε χωρίς να έχει στόχο την προσιτότητα. Παγκοσμίως, περίπου το 8% των ανθρώπων που χρησιμοποιούν τον παγκόσμιο ιστό έχουν κάποιο είδος αναπηρίας. Οι αναπηρίες κατατάσσονται σε μια από τις εξής κατηγορίες:</para>
<itemizedlist>
<listitem>
<para><emphasis>Προβλήματα στην όραση</emphasis> - αυτά ποικίλουν από χαμηλή όραση (συμπεριλαμβάνονται μεταξύ άλλων και η εξασθενημένη ή θολή όραση, η πρεσβυωπία, η μυωπία, η αχρωματοψία και όραση σήραγγας) μέχρι την ολική τύφλωση. Λανθασμένη επιλογή του μεγέθους και του χρώματος της γραμματοσειράς και εργασίες που απαιτούν καλό συγχρονισμό χεριού και ματιού (όπως το να μετακινείς το ποντίκι) μπορούν να προκαλέσουν πρόβλημα σε αυτούς τους χρήστες.</para>
</listitem>
<listitem>
<para><emphasis>Κινητικά προβλήματα</emphasis> - χρήστες με μειωμένο μυικό έλεγχο ή αδυναμία δυσκολεύονται να χρησιμοποιήσουν ένα κανονικό πληκτρολόγιο ή ένα ποντίκι. Για παράδειγμα, ίσως δεν έχουν τη δυνατότητα να κρατούν πατημένα δυο κουμπιά συγχρόνως, ή είναι πιο πιθανό να πατούν πλήκτρα κατά λάθος.</para>
</listitem>
<listitem>
<para><emphasis>Προβλήματα ακοής</emphasis> - αυτά ποικίλουν από το να μπορείς να ακούς κάποιους ήχους αλλά να μην είναι δυνατόν να ξεχωρίσεις την ομιλία, μέχρι την πλήρη κωφότητα. Οι εφαρμογές οι οποίες επικοινωνούν χρήσιμες πληροφορίες με ήχους και μόνο θα προκαλέσουν προβλήματα σε αυτούς τους χρήστες.</para>
</listitem>
<listitem>
<para><emphasis>Μαθησιακά και Γλωσσικά προβλήματα</emphasis> -αυτά ποικίλουν από τη δυσλεξία μέχρι τη δυσκολία να θυμάσαι πράγματα, να λύνεις προβλήματα ή να καταλαβαίνεις και να χρησιμοποιείς τον προφορικό ή γραπτό λόγο. Πολύπλοκες ή αλλοπρόσαλλες εικόνες, ή ατυχής επιλογή λέξεων μπορεί να δυσκολέψει την χρήση ηλεκτρονικών υπολογιστών από αυτούς τους χρήστες.</para>
</listitem>
<listitem>
<para><emphasis>Προβλήματα με κρίσεις</emphasis> - κάποια συγκεκριμένα περιβάλλοντα φωτός και ήχου μπορούν να προκαλέσουν κρίσεις επιληψίας σε κάποιους ευπαθείς χρήστες.</para>
</listitem>
</itemizedlist>
</section>
<section id="gad-how-it-works">
<title>Πώς λειτουργεί η προσιτότητα στο GNOME</title>
<para>Η Εργαλειοθήκη προσιτότητας (Accessibility Toolkit, ATK) περιγράφει ένα σύνολο από διεπαφές οι οποίες πρέπει να περιλαμβάνονται στα γραφικά περιβάλλοντα διεπαφών (GUI) ώστε να είναι προσιτά. Οι διεπαφές είναι ανεξάρτητες από την εργαλειοθήκη - εφαρμογές μπορούν να γραφούν σε κάθε εργαλειοθήκη όπως GTK, Motif ή Qt.</para>
<para>Τα εργαλεία GTK υλοποιούνται σε ένα άρθρωμα με το όνομα GAIL (GNOME Accessibility Implementation Library, Βιβλιοθήκη υλοποίησης προσιτότητας του GNOME), η οποία μπορεί να φορτωθεί δυναμικά κατά τη διάρκεια της εκτέλεσης από μια εφαρμογή GTK. Αφού φορτωθεί, εκείνα τα τμήματα της εφαρμογής σας τα οποία χρησιμοποιούν τα κανονικά εργαλεία της GTK θα έχουν ένα βασικό επίπεδο προσιτότητας, χωρίς να χρειαστεί καμία αλλαγή της εφαρμογής από εσάς. Αν το GAIL δεν έχει φορτωθεί, τα εργαλεία της GTK θα έχουν μια προεπιλεγμένη υλοποίηση προσιτότητας η οποία ουσιαστικά δεν επιστρέφει καθόλου πληροφορίες, αν και τυπικά συμμορφώνεται στο API της εργαλειοθήκης προσιτότητας. Οι εφαρμογές που χρησιμοποιούν τα χειριστήρια Bonobo, και συγκεκριμένα εκείνα που είναι εκτός διαδικασίας, φορτώνουν επίσης τον κώδικα υποστήριξης της προσιτότητας από το άρθρωμα libgail-gnome. Το αν οι εφαρμογές της επιφάνειας εργασίας GNOME θα φορτώσουν αυτόματα αυτές τις βιβλιοθήκες υποστήριξης της προσιτότητας εξαρτάται από την τιμή ενός κλειδιού <application>gconf</application>, του «/desktop/gnome/interface/accessibility», μια boolean τιμή «αληθές» ενεργοποιεί την υποστήριξη για τις τεχνολογίες υποβοήθησης και οι εφαρμογές οι οποίες καλούν την gnome_program_init θα φορτώσουν αυτόματα τις κατάλληλες βιβλιοθήκες προσιτότητας κατά την εκτέλεση. Οι «καθαρές GTK+ εφαρμογές», για παράδειγμα εκείνες που χρησιμοποιούν την εργαλειοθήκη gtk+ αλλά δεν συνδέονται με την βιβλιοθήκη libgnome, βασίζονται στην τιμή της μεταβλητής περιβάλλοντος GTK_MODULES, η οποία πρέπει να είναι ρυθμισμένη σε «gail:atk-bridge» ούτως ώστε να ενεργοποιηθεί η υποστήριξη τεχνολογίας προσιτότητας.</para>
<para>Οι περισσότερες τεχνολογίες υποβοήθησης που τρέχουν σε άλλες επιφάνειες εργασίας, ιστορικά θεώρησαν αναγκαία τη διατήρηση ενός εκτός οθόνης μοντέλου των εφαρμογών της επιφάνειας εργασίας, βασισμένου στην υφαρπαγή των γεγονότων του λειτουργικού συστήματος, στη χρήση μη υποστηριζόμενων χαρακτηριστικών της εφαρμογής και του API, και σε άλλες μη φορητές τεχνικές. Αυτά έχουν κάνει την υποστήριξη τεχνολογιών υποβοήθησης κάπως "εύθραυστη" και υπερβολικά εξαρτώμενη από το λειτουργικό σύστημα και από την κάθε εφαρμογή, ακόμα και από την κάθε έκδοση εφαρμογής. Αντιθέτως, στην επιφάνεια εργασίας του GNOME, όλες οι πληροφορίες που είναι αναγκαίες για τις τεχνολογίες υποβοήθησης παρέχονται από τις εφαρμογές που εκτελούνται μέσω του Framework προσιτότητας του GNOME, σε μια Διεπαφή παροχής υπηρεσιών (SPI) ανεξάρτητη από την εργαλειοθήκη. Η SPI παρέχει τα μέσα στις τεχνολογίες υποβοήθησης που βασίζονται στο UNIX, όπως οι αναγνώστες και οι μεγεθυντές οθόνης, να λαμβάνουν πληροφορίες προσιτότητας από εκτελούμενες εφαρμογές μέσω ενός συμπαγούς, σταθερού API, και μπορεί να εξαλείψει την ανάγκη για ένα «εκτός οθόνης» μοντέλο σε πολλές περιπτώσεις. Η υποστήριξη προσιτότητας είναι "ενσωματωμένη" στις εργαλειοθήκες εφαρμογών μέσω API προσαρμοσμένων στις εργαλειοθήκες (για παράδειγμα, το ATK για τις περισσότερες εγγενείς εφαρμογές σε C και το API προσιτότητας της JAVA για εφαρμογές Java), και εξάγεται στην κοινή διεπαφή "AT-SPI" μέσω της σχετικής "γέφυρας" (βλ. και το ακόλουθο διάγραμμα).</para>
<figure id="gad-architecture">
<title>Αρχιτεκτονική προσιτότητας του GNOME</title>
<mediaobject><imageobject> <imagedata fileref="figures/GNOME_desktop_Accessibility.png" format="PNG"/> </imageobject> <textobject> <phrase>Το διάγραμμα αρχιτεκτονικής της προσιτότητας GNOME</phrase> </textobject></mediaobject>
</figure>
<para>Η ενσωματωμένη υποστήριξη προσιτότητας στο GNOME, σημαίνει ότι εφαρμογές οι οποίες δημιουργήθηκαν με χρήση των αποθηκευμένων γραφικών συστατικών του GNOME έχουν εξ αρχής υποστήριξη για τις τεχνολογίες υποβοήθησης "δωρεάν", με την προϋπόθεση ότι τα γραφικά συστατικά δεν έχουν χρησιμοποιηθεί με ασυνήθιστους τρόπους, οι οποίοι έρχονται σε σύγκρουση με αυτήν την ενσωματωμένη υποστήριξη.</para>
<para>Μια εργαλειοθήκη gtk+/GNOME είναι προσιτή αν η χρήση της ακολουθεί τις κατευθυντήριες γραμμές προσιτότητας που αναφέρονται σε άλλο σημείο αυτού του εγγράφου, και αν υλοποιεί τις διεπαφές ATK ανάλογα με το ρόλο της στη διεπαφή χρήστη. Οι υλοποιήσεις του ATK παρέχονται για τις "έτοιμες" εργαλειοθήκες του GNOME (δηλ. τις μη ξεπερασμένες εργαλειοθήκες του gtk+ και του GNOME), και σε πολλές περιπτώσεις οι νέες εργαλειοθήκες που προέρχονται με απλό τρόπο από υφιστάμενες εργαλειοθήκες GTK+ ή GNOME θα κληρονομήσουν επίσης την υποστήριξη προσιτότητας.</para>
<para>Παρότι η ενσωματωμένη στο GNOME υποστήριξη προσιτότητας παρέχει σημαντική λειτουργικότητα χωρίς καθόλου αλλαγές στον κώδικα που έχουν συγκεκριμένα στόχο της προσιτότητα, οι εφαρμογές μπορούν να βελτιώσουν τις προεπιλεγμένες περιγραφές που παρέχονται από τις εργαλειοθήκες, και να τις προσαρμόσουν στο συγκεκριμένο σκοπό εκείνης της εργαλειοθήκης μέσα στην εφαρμογή, μέσω άμεσων κλήσεων σε μεθόδους της ATK μέσα στην εφαρμογή. Για παράδειγμα, στις περισσότερες περιπτώσεις οι εφαρμογές θα πρέπει να αλλάζουν το κείμενο περιγραφής των εργαλειοθηκών με την κατάλληλη κλήση συνάρτησης του ATK, ώστε οι τεχνολογίες υποβοήθησης να περιγράφουν το σκοπό ή την κατάστασή τους στο χρήστη. Βλ. τις <link linkend="gad-coding-guidelines">Κατευθυντήριες γραμμές κώδικα για υποστήριξη προσιτότητας</link> για περισσότερες πληροφορίες.</para>
<para>Αν η εφαρμογή σας χρησιμοποιεί τροποποιημένες εργαλειοθήκες, ίσως χρειαστεί λίγο περισσότερη δουλειά για να εκθέσετε τις ιδιότητες εκείνων των εργαλειοθηκών στις τεχνολογίες υποβοήθησης. Δείτε το <link linkend="gad-custom">Κάνοντας τα προσαρμένα συστατικά προσιτά</link> και τα <link linkend="gad-api-examples">Παραδείγματα που χρησιμοποιούν το API προσιτότητας</link> για περισσότερες πληροφορίες.</para>
<para>Για περισσότερες και πιο αναλυτικές πληροφορίες σχετικά με τα GTK/GTK+, δείτε (στα Αγγλικά) το <ulink url="http://library.gnome.org/devel/gtk">Εγχειρίδιο χρήσης GTK+</ulink>, <ulink url="http://live.gnome.org/GAP/AtkGuide/Gtk">το κομμάτι για το GTK στο εγχειρίδιο του ATK</ulink>, το φιλοξενούμενο στο GNOME <ulink url="http://library.gnome.org/devel/gtk-tutorial/stable/">Εγχειρίδιο GTK+ 2.0</ulink> και το επίσημο <ulink url="http://library.gnome.org/devel/gtk-faq/stable/">GTK+ FAQ</ulink>.</para>
</section>
<section id="dev-start">
<title>Γρήγορη εκκίνηση για προγραμματιστές</title>
<para>Εδώ παρουσιάζονται κάποια συνηθισμένα θέματα που πρέπει κανείς να γνωρίζει:</para>
<section id="dev-start-1">
<title>Πώς μπορώ να ελέγξω αν η εφαρμογή μου είναι προσιτή ή όχι;</title>
<para>Για να ξεκινήσετε αμέσως, δείτε (στα Αγγλικά) το <link linkend="gad-overview">Κάνοντας μια εφαρμογή GNOME προσιτή - Επισκόπηση</link>. Για μια προκωδικοποιημένη προοπτική, δείτε <link linkend="gad-ui-guidelines">Οδηγίες για τη διεπαφή χρήστη για υποστήριξη προσιτότητας</link> ή <link linkend="gad-coding-guidelines">Οδηγίες κωδικοποίησης για υποστήριξη προσιτότητας</link>. Για μια λίστα ελέγχου των στοιχείων δοκιμών μετασχεδιασμού, δείτε <link linkend="gad-checklist">Λίστα ελέγχου διεπαφής χρήστη</link>.</para>
</section>
<section id="dev-start-2">
<title>Ποιά είναι τα συνηθισμένα λάθη;</title>
<para>Η <link linkend="gad-checklist">Λίστα ελέγχου διεπαφής χρήστη</link> καλύπτει όλα τα θέματα τα οποία κάποιες φορές παραβλέπονται στο στάδιο του σχεδιασμού.</para>
</section>
<section id="dev-start-3">
<title>Πώς μπορώ να κάνω συνηθισμένα πράγματα σχετικά με την ΑΤΚ (Accessibility toolkit, εργαλειοθήκη προσιτότητας);</title>
<para>Μια περιληπτική λίστα συνηθισμένων κλήσεων ATK μπορεί να βρεθεί <link linkend="gad-api">εδώ</link>.</para>
</section>
<section id="dev-start-4">
<title>Πώς μπορώ να κάνω περισσότερο πολύπλοκα πράγματα σχετικά με την ΑΤΚ;</title>
<para>Δείτε τις ενότητες <link linkend="gad-custom">Δημιουργία προσαρμοσμένων προσιτών περιεχομένων</link> και <link linkend="gad-api-examples">Παράδειγμα για τη χρήση της προσιτότητας API</link> για περισσότερες πληροφορίες.</para>
</section>
<section id="dev-start-5">
<title>Παρουσιάζοντας τα ATK, AT-SPI, GAIL και GTK+</title>
<screenshot>
<mediaobject><imageobject> <imagedata fileref="figures/gaa.jpg"/> </imageobject> <textobject> <phrase> Αρχιτεκτονική προσιτότητας GNOME </phrase> </textobject></mediaobject>
</screenshot>
<para>Η ATK είναι ένα πακέτο εργαλείων που χρησιμοποιεί το GNOME για ενεργοποίηση πρόσβασης για χρήστες που χρειάζονται πρόσθετη υποστήριξη για να πάρουν το μέγιστο από τους υπολογιστές τους. Η ATK χρησιμοποιείται από εργαλεία όπως αναγνώστες οθόνης, μεγεθυντές και συσκευές εισόδου ώστε να επιτρέψει μια πλούσια αλληλεπίδραση με την επιφάνεια εργασίας με εναλλακτικά μέσα. Δείτε <ulink url="http://java-gnome.sourceforge.net/4.0/doc/api/org/gnome/atk/package-summary.html">το Έργο ATK στο SourceForge</ulink> και <ulink url="http://library.gnome.org/devel/atk/stable/">η βιβλιοθήκη ATK</ulink> για περισσότερες πληροφορίες.</para>
<para>Το AT-SPI είναι η κυρίως διεπαφή της υπηρεσίας με την οποία οι τεχνολογίες υποβοήθησης κάνουν ερωτήματα και δέχονται απαντήσεις από εφαρμογές που τρέχουν. Το πλήρες API μπορεί να μελετηθεί <ulink url="http://library.gnome.org/devel/at-spi-cspi/stable/">εδώ</ulink>. Επιπλέον υλικό είναι διαθέσιμο από <ulink url="http://accessibility.kde.org/developer/atk.php#coreclasses"> την Κοινότητα Ανάπτυξης της Προσιτότητας του KDE</ulink>.</para>
<para>Η GAIL (Βιβλιοθήκη εφαρμογής προσιτότητας) της επιφάνειας εργασίας GNOME, είναι μια εφαρμογή των διεπαφών προσιτότητας που καθορίζεται από την ATK. Η GTK είναι μία εργαλειοθήκη η οποία έχει ήδη συνδεθεί στην ATK από το συστατικό GAIL. Μπορείτε να δείτε την άδεια ή να κατεβάσετε την GAIL <ulink url="http://www.t2-project.org/packages/gail.html">εδώ</ulink>. Ο <ulink url="ftp://ftp.gnome.org/pub/GNOME/sources/gail/">πηγαίος κώδικας της GAIL</ulink> μπορεί επίσης να χρησιμοποιηθεί ως ένα εξαιρετικό διδακτικό βοήθημα για προχωρημένη χρήση της ATK. Επιπλέον, ίσως ενδιαφέρεστε για το <ulink url="http://library.gnome.org/devel/gail-libgail-util/stable/"> πλήρες εγχειρίδιο της GAIL</ulink>.</para>
<para>Η GTK+ είναι μια βιβλιοθήκη για τη δημιουργία γραφικών διεπαφών χρήστη. Δουλεύει σε πολλές πλατφόρμες βασισμένες στο UNIX, σε Windows και σε συσκευές framebuffer. Η GTK+ εκδίδεται υπό την Γενική δημόσια άδεια βιβλιοθηκών GNU (GNU Library General Public License, GNU LGPL), η οποία επιτρέπει την ευέλικτη αδειοδότηση παράγωγων εφαρμογών. Η GTK+ έχει μια βασισμένη στην C αντικειμενοστρφή αρχιτεκτονική η οποία επιτρέπει την μέγιστη δυνατή ευελιξία. Δεσμοί (bindings) με άλλες γλώσσες έχουν γραφτεί, συμπεριλαμαβωνμένων των C++, Objective-C, Guile/Scheme, Perl, Python, TOM, Ada95, Free Pascal, και Eiffel.</para>
<para>Για περισσότερες και πιο αναλυτικές πληροφορίες σχετικά με τα GTK/GTK+, δείτε (στα Αγγλικά) το <ulink url="http://library.gnome.org/devel/gtk">Εγχειρίδιο αναφοράς GTK+</ulink>, <ulink url="http://wiki.gnome.org/Accessibility/Documentation/GNOME2/AtkGuide/Gtk">την ενότητα για το GTK του οδηγού του ATK</ulink>, το φιλοξενούμενο στο GNOME <ulink url="http://library.gnome.org/devel/gtk-tutorial/stable/">Εγχειρίδιο GTK+ 2.0</ulink> και το επίσημο <ulink url="http://library.gnome.org/devel/gtk-faq/stable/">GTK+ FAQ</ulink>.</para>
</section>
</section>
<section id="gad-overview">
<title>Κάνοντας μια Εφαρμογή GNOME Προσιτή - Γενικά</title>
<para>Αν η εφαρμογή σας χρησιμοποιεί μόνο τα κανονικά εργαλεία της GTK, πιθανώς θα χρειατεί να κάνετε λίγα ή καθόλου ώστε να κάνετε την εφαρμογή σας προσιτή σε ένα λογικό επίπεδο. Αλλά να έχετε το νου σας για αντικείμενα στη Γραφική Διεπαφή Χρήστη (GUI) τα οποία δεν έχουν μια περιγραφή σε κείμενο.συσχετισμένη με αυτά, όπως γραφικά κουμπιά ή ενδείκτες κατάστασης (status indicators) τα οποία δεν έχουν ετικέτες ή ενδεικτικά βοηθήματα (tooltip).</para>
<para>Μπορείτε πιθανόν επίσης να βελτιώσετε τις προεπιλεγμένες περιγραφές που παρέχονται σε μερικά γραφικά συστατικά, και να τα ενσωματώσετε στο συγκεκριμένο σκοπό του γραφικού συστατικού μέσα στην εφφαρμογή σας. Θα πρέπει να προσθέσετε ή να αλλάξετε τις αναλυτικές περιγραφές για αυτά τα γραφικά συστατικά με την κλήση της κατάλληλης συνάρτησης ΑΤΚ, έτσι ώστε μία τεχνολογία υποβοήθησης να μπορεί να περιγράχει τον σκοπό ή να τη δήλωσω απέναντι στο χρήστη. Δείτε <link linkend="gad-coding-guidelines">Κατευθυντήριες γραμμές κώδικα για υποστήριξη προσιτότητας</link> για περισσότερες πληροφορίες.</para>
<para>Αν η εφαρμογή σας χρησιμοποιεί προσαρμοσμένα γραφικά συστατικά, ενδεχομένως να πρέπει να κάνετε μερικές ενέργειες για να εκθέσετε τις ιδότητές τους σε τεχνολογίες υποβοήθησης. Δείτε τις ενότητες <link linkend="gad-custom">Δημιουργία προσαρμοσμένων προσιτών περιεχομένων</link> και <link linkend="gad-api-examples">Παραδείγματα που χρησιμοποιούν προσιτότητα API</link> για περισσότερες πληροφορίες. Επιπρόσθετες αναλυτικές πληροφορίες μπορούν να βρεθούν στην παρουσίαση του Marc Mulcahy στην GUADEC του 2002, <ulink url="https://projects.gnome.org/accessibility/talks/GUAD3C/making-apps-accessible/start.html">"Δημιουργία προσιτών εφαρμογών για το GNOME".</ulink></para>
</section>
<section id="gad-coding-guidelines">
<title>Οδηγίες για τον προγραμματισμό σε σχέση με την υποστήριξη της προσιτότητας</title>
<para>Εδώ παραθέτονται κάποιες ενέργειες που μπορείτε να εφαρμόσετε στον κώδικά σας για να βελτιώσετε τη λειτουργία του προγράμματός σας όσον αφορά τιε τεχνολογίες υποβοήθησης. (Μπορείτε να βρείτε μία λίστα ενεργειών για να θυμάστε κατά το σχεδιασμό του γραφικού περιβάλλοντος στην ενότητα <link linkend="gad-ui-guidelines">Οδηγίες διεπαφής χρήστη για υποστήριξης προσιτότητας</link> πιο κάτω σε αυτό το έγγραφο):</para>
<itemizedlist>
<listitem>
<para>Για περιεχόμενα που δεν εμφανίζουν ένα μικρό αλφαριθμητικό (όπως ένα γραφικό κουμπί), καθορίστε ένα όνομα για αυτό με τη συνάρτηση <function>atk_object_set_name()</function>. Ενδεχομένως να επιθυμείτε να το κάνετε για κουμπιά με εικόνες, για πλαίσια που παρέχουν λογικές ομάδες, για περιοχές κειμένου, κοκ.</para>
</listitem>
<listitem>
<para>Αν δε μπορείτε να παρέχετε μία συμβουλή οθόνης για ένα περιεχόμενο, χρησιμποιήστε αντί για αυτή τη συνάρτηση <function>atk_object_set_description()</function> για να παρέχετε μία περιγραφή που οι τεχνολογίες υποβοήθησης μπορούν να προσφέρουν στο χρήστη. Για παράδειγμα, για να παρέχετε μία προσιτή περιγραφή για ένα κουμπί <guibutton>Κλείσιμο</guibutton> εφαρμόστε τα εξής:</para>
<example>
<title>Παρέχοντας μια προσιτή περιγραφή για ένα GtkButton</title>
<programlisting>
{
AtkObject *obj;
obj = gtk_widget_get_accessible(button);
atk_object_set_description(obj,_("Κλείνει το παράθυρο"));
}
</programlisting>
</example>
</listitem>
<listitem>
<para>Χρησιμοποιήστε την <function>atk_image_set_description()</function> για να δώσετε μια περιγραφή κειμένου για όλες τις εικόνες και τα εικονίδια του προγράμματός σας.</para>
</listitem>
<listitem>
<para>Αν μερικά από τα στοιχεία μιας λογικής ομάδας, προσπαθήστε να τα βάλετε σε ένα σημείο.</para>
</listitem>
<listitem>
<para>Όταν έχετε μια ετικέτα η οποία περιγράφει ένα άλλο στοιχείο, χρησιμοποιήστε την <function>atk_relation_set_add_relation()</function> έτσι ώστε οι τεχνολογίες υποβοήθησης να μπορούν να βρουν το στοιχείο με το οποίο η ετικέτα έχει συσχετιστεί. (Εάν συσχετίσετε την ετικέτα με το στοιχείο χρησιμοποιώντας την <function>gtk_label_set_mnemonic_widget()</function>, τότε ο συσχετισμός <constant>ATK_RELATION_LABEL_FOR</constant> δημιουργείται αυτόματα, έτσι ο κώδικας που ακολουθεί δεν είναι απαραίτητος):</para>
<example>
<title>Συσχετίζοντας μια ετικέτα GtkLabel με ένα GtkWidget</title>
<programlisting>
{
GtkWidget *widget;
GtkLabel *label;
AtkObject *atk_widget, *atk_label;
AtkRelationSet *relation_set;
AtkRelation *relation;
AtkObject *targets[1];
atk_widget = gtk_widget_get_accessible(widget);
atk_label = gtk_widget_get_accessible (GTK_WIDGET(label));
relation_set = atk_object_ref_relation_set (atk_label);
targets[0] = atk_widget;
relation = atk_relation_new(targets,1, ATK_RELATION_LABEL_FOR);
atk_relation_set_add(relation_set,relation);
g_object_unref(G_OBJECT(relation));
}
</programlisting>
</example>
</listitem>
<listitem>
<para>Αν δημιουργείτε ένα προσαρμοσμένο γραφικό συστατικό, βεβαιωθείτε ότι αυτό υποστηρίζει την προσιτότητα. Τα προσαρμοσμένα περιεχόμενα που εξαρτώνται από άλλα γραφικά συστατικά GTK θα αντικαθιστούν τις πληροφορίες προσιτότητας που κληρονομήθηκαν όπου αυτό είναι απαραίτητο. Για περισσότερες πληροφορίες, δείτε την ενότητα <link linkend="gad-custom">Δημιουργία προσιτών προσαρμοσμένων περιεχομένων</link>.</para>
</listitem>
<listitem>
<para>Μην αφήνετε κάτι που το έχετε δωρεάν! Αν το περιβάλλον χρήση σας έχει ένα στοιχείο που δεν είναι προσιτό, οποιαδήποτε περιεχόμενα μέσα σε αυτό το στοιχείο ενδεχομένως γίνουν μη προσιτά επίσης.</para>
</listitem>
</itemizedlist>
</section>
<section id="gad-api">
<title>Η προσιτότητα API</title>
<para>Εδώ βρίσκονται μερικές κλήσεις API που ενδεχομένως χρειαστεί να χρησιμοποιήσετε στην εφαρμογή σας για να βεβαιωθείτε ότι δουλεύει σωστά με τεχνολογίες υποβοήθησης. Η πλήρης προσιτότητα του API είναι εκτενής, για να σας επιτρέπει να συνθέτετε τα δικά σας προσιτά προσαρμοσμένα γραφικά συστατικά, για παράδειγμα.</para>
<table frame="all">
<title>Οι πιο δημοφιλείς κλήσεις του ATK API</title>
<tgroup cols="2" align="left">
<thead>
<row>
<entry>API</entry>
<entry>Περιγραφή</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<para><function>AtkObject* gtk_widget_get_accessible (GtkWidget*)</function></para>
</entry>
<entry>
<para>Επιστρέφει το προσιτό αντικείμενο που περιγράφει το καθορισμένο γραφικό συστατικό GTK σε μία τεχνολογία υποβοήθησης.</para>
</entry>
</row>
<row>
<entry>
<para><function>void atk_object_set_name (AtkObject*, const gchar*)</function></para>
</entry>
<entry>
<para>Καθορίζει το όνομα του προσιτού αντικειμένου. Για παράδειγμα, αν το αντικείμενο είναι ένα γραφικό κουμπί που τερματίζει την εφαρμογή όταν το πιέσετε, το όνομα ενδεχομένως να είναι "Τερματισμός".</para>
</entry>
</row>
<row>
<entry>
<para><function>void atk_object_set_description (AtkObject*, const gchar*)</function></para>
</entry>
<entry>
<para>Καθορίζει την αναλυτική περιγραφή του προσιτού αντικειμένου. Για παράδειγμα, αν το αντικείμενο είναι ένα γραφικό κουμπί με όνομα "Κλείσιμο", η περιγραφή ενδεχομένως να είναι "Κλείνει το παράθυρο".</para>
</entry>
</row>
<row>
<entry>
<para><function>AtkRelation* atk_relation_new (AtkObject**, gint, AtkRelationType)</function></para>
</entry>
<entry>
<para>Δημιουργεί μία νέα σχέση μεταξύ του καθορισμένου κλειδιού και της καθορισμένης λίστας με τα αντικείμενα προορισμού. Μία σχέση σε κανονικές συνθήκες αναδεικνύει την τεχνολογία υποβοήθησης σχετικά με την κάθε είδους σχέση μεταξύ των γραφικών συστατικών. Για παράφειγμα, ένα ειδικό γραφικό συστατικό DtkLabel είναι η λεζάντα για ένα GtkTreeView στο ίδιο παράθυρο.</para>
</entry>
</row>
<row>
<entry>
<para><function>void atk_image_set_description (AtkImage*, const gchar*)</function></para>
</entry>
<entry>
<para>Καθορίζει την περιγραφή κειμένου του προσιτού αντικειμένου εικόνας. Για παράδειγμα αν το αντικείμενο είναι μια μικρογραφία μιας εικονικής επιφάνειας εργασίας μέσα σε μια μικροεφαρμογή του πάνελ, τότε η περιγραφή θα μπορούσε να είναι "Εικόνα που δείχνει τη διάταξη των παραθύρων στην επιφάνεια εργασίας 1".</para>
</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section id="gad-api-examples">
<title>Παραδείγμα για τη χρήση της προσιτότητας API</title>
<para>Όπως σημειώθηκε νωρίτερα, θα πρέπει να κάνετε λίγη ή καθόλου δουλειά για να κάνετε την εφαρμογή σας προσιτή αν χρησιμοποιείτε το πακέτο εργαλείων GTK, ή οποιαδήποτε άλλη βιβλιοθήκη εργαλείων η οποία να ενσωματώνει τις διεπαφές ATK. Τα δυο πιο κοινά πράγματα που ίσως χρειαστεί να κάνετε σε αυτές τις περιπτώσεις είναι:</para>
<itemizedlist>
<listitem>
<para>να δώσετε περιγραφές για κάποια στοιχεία ελέγχου και κάποιες εικόνες χρησιμοποιώντας την <function>atk_object_set_description()</function> ή την <function>atk_image_set_description():</function></para>
<example>
<title>Καθορισμός της προσιτής περιγραφής για ένα κουμπί</title>
<programlisting>
{
AtkObject *obj;
obj = gtk_widget_get_accessible(button);
atk_object_set_description(obj,_("Ανοίγει το παράθυρο Προτιμήσεις"));
}
</programlisting>
</example>
<para>
</para>
</listitem>
<listitem>
<para>Καθορίστε τους συσχετισμούς ανάμεσα σε κάθε ασυνήθιστη ομαδοποίηση εργαλείων χρησιμοποιώντας τις <function>atk_relation_new()</function> και <function>atk_relation_set_add()</function>:</para>
<example>
<title>Καθορισμός προσιτών συσχετισμών ανάμεσα σε δύο στοιχεία ελέγχου (controls)</title>
<programlisting>
{
GtkWidget *widget;
GtkLabel *label;
AtkObject *atk_widget, *atk_label;
AtkRelationSet *relation_set;
AtkRelation *relation;
AtkObject *targets[1];
atk_widget = gtk_widget_get_accessible (widget);
atk_label = gtk_widget_get_accessible (GTK_WIDGET(label));
relation_set = atk_object_ref_relation_set (atk_label);
targets[0] = atk_widget;
relation = atk_relation_new(targets,1, ATK_RELATION_LABEL_FOR);
atk_relation_set_add(relation_set,relation);
g_object_unref(G_OBJECT(relation));
}
</programlisting>
</example>
</listitem>
</itemizedlist>
<para>Τα παραδείγματα στο υπόλοιπο αυτής της ενότητας βρίσκονται περισσότερο για να σας δώσουν μία γεύση του σκοπού του ΑΤΚ. Καλύπτουν τεχνικές που ενδεχομένως ποτέ δεν θα χρειαστείτε να χρησιμοποιήσετε ως συντελεστής μίας εφαρμογής, αν και ίσως να σας ενδιαφέρουν αν γράφετε μόνοι σας τα δικά σας προσαρμοσμένα γραφικά συστατικά (δείτε <link linkend="gad-custom">Κάνοντας προσιτά τα προσαρμοσμένα στοιχεία</link>) ή αν θέλετε να γράψετε μίας εφαρμογή τεχνολογίας υποβοήθησης. Οποιοσδήποτε κι αν είναι ο σκοπός, ο <ulink url="ftp://ftp.gnome.org/pub/GNOME/sources/gail/">πηγαίος κώδικας GAIL</ulink> παρέχεται ως ένα εξαιρετικό βοήθημα για μία προχωρημένη χρήση του ATK. Παρακαλούμε, σημειώστε ότι από το GTK+ 3.1.10, το Gail συγχωνεύτηκε στο GTK+ και δεν υπάρχει πια δικιά του ενότητα.</para>
<section>
<title>Αρθρώματα Gtk</title>
<para>Τα προγράμματα που κάνουν χρήση του GAIL (η βιβλιοθήκη με την εφαρμογή προσιτότητας για τα γραφικά συστατικά GTK) έχουν κατασκευαστεί ως αρθρώματα GTΚ. Τα αρθρώματα GTK φορτώνονται στο χώρο του προγράμματος αν η μεταβλητή περιβάλλοντος <varname>GTK_MODULES</varname> καθορίζει το όνομα ή τα ονόματα της βιβλιοθήκης αρθρωμάτων. Αν υφίστανται πολλαπλές βιβιοθήκες αρθρωμάτων, διαχωρίστε τις με άνω-κάτω τελεία. Για παράδειγμα:</para>
<para><userinput>setenv GTK_MODULES "libgail:libtestprops"</userinput></para>
<para>Όλα τα αρθρώματα GTK έχουν μία συνάρτηση <function>gtk_module_init()</function>.</para>
</section>
<section>
<title>Συγκεντρώνοντας πληροφορίες προσιτότητας από μια εφαρμογή</title>
<para>Ένα πρόγραμμα το οποίο θέλει να χρησιμοποιήσει τις κλήσεις ATK θα πρέπει κατά προτίμηση να κάνει ένα (ή περισσότερα) από τα παρακάτω:</para>
<orderedlist>
<listitem>
<para>Να δημιουργήσει ένα event watcher, για παράδειγμα με την συνάρτηση <function>atk_add_focus_tracker()</function>:</para>
<programlisting>atk_add_focus_tracker (_my_focus_tracker);</programlisting>
<para>όπου η <function>_my_focus_tracker()</function> είναι μια συνάρτηση με αυτόν τον τύπο:</para>
<programlisting>void _my_focus_tracker (AtkObject *aobject);</programlisting>
</listitem>
<listitem>
<para>Να καθορίσει έναν καθολικό event listener, με atk_add_global_event_listener():</para>
<programlisting>
mouse_watcher_focus_id = atk_add_global_event_listener(_my_global_listener,"Gtk:GtkWidget:enter_notify_event");
</programlisting>
<para>όπου η συνάρτηση <function>_my_global_listener</function> έχει τον τύπο της Glib <type>GSignalEmissionHook</type>. Αυτό το παράδειγμα θα έκανε τη συνάρτηση <function>_my_global_listener()</function> να καλείται κάθε φορά που συμβαίνει ένα σήμα enter_notify_even σε ένα <type>GtkWidget</type> αντικείμενο.</para>
</listitem>
<listitem>
<para>Αποκτήστε πρόσβαση στο αντικείμενο ανώτερου επιπέδου τύπου ATK με τη χρήση της ακόλουθης συνάρτησης.</para>
<programlisting>AtkObject *root_obj = atk_get_root();</programlisting>
<para>Με αυτόν τον τρόπο επιστρέφεται ένα <type>AtkObject</type> το οποίο περιέχει όλα τα παράθυρα ανώτερου επιπέδου στο τρέχον πρόγραμμα που εκτελείται. Ο χρήστης μπορεί τότε να πλοηγηθεί μέσω της ιεραρχίας αντικειμένων έχοντας πρόσβαση στους θυγατρικούς καταλόγους των αντικειμένων του ριζικού καταλόγου, το οποίο αντιστοιχεί σε παράθυρα ανώτερου επιπέδου.</para>
</listitem>
</orderedlist>
</section>
<section>
<title>Δημιουργία αιτήσεων σε διεπαφές <type>AtkObject</type></title>
<para>Έχοντας κλειδώσει το <type>AtkObject</type> το οποίο είναι συναφές με ένα αντικείμενο στην εφαρμογή (π.χ. χρησιμοποιώντας τη συνάρτηση <function>gtk_widget_get_accessible()</function>), μπορείτε να ανακαλύψετε τις διεπαφές που αυτό εκτελεί με διάφορους τρόπους:</para>
<orderedlist>
<listitem>
<para>Χρησιμοποιήστε τις μακροεντολές <function>ATK_IS_...</function> που παρέχονται, για παράδειγμα:</para>
<itemizedlist>
<listitem>
<para><function>ATK_IS_ACTION(atkobj)</function></para>
</listitem>
<listitem>
<para><function>ATK_IS_COMPONENT(atkobj)</function></para>
</listitem>
<listitem>
<para>κλπ. (υπάρχει ένα για κάθε διεπαφή)</para>
</listitem>
</itemizedlist>
<para>Αν η μακροεντολή επιστρέφει τιμή <function>TRUE</function>, οι κλήσεις της διεπαφής μπορούν με ασφάλεια να πραγματοποιηθούν σε αυτό το αντικείμενο ΑΤΚ.</para>
</listitem>
<listitem>
<para>Δοκιμάστε το ρόλο του <type>AtkObject</type> καλώντας τη συνάρτηση <function>atk_object_get_role()</function>. Οποιοσδήποτε δοσμένος ρόλος εκτελεί ένα ειδικό αριθμό από ATK API.</para>
</listitem>
</orderedlist>
</section>
<section>
<title>Ρύθμισης ενός χειριστή σήματος ΑΤΚ</title>
<para>Χρήση του σήματος <constant>column_inserted</constant> ως παράδειγμα:</para>
<programlisting>
table_column_inserted_id = g_signal_connect_closure_by_id (my_atk_obj,
g_signal_lookup("column_inserted", G_OBJECT_TYPE(my_atk_obj)), 0,
g_cclosure_new(G_CALLBACK (_my_table_column_inserted_func), NULL, NULL), FALSE)·
</programlisting>
<para>Αυτό θα έχει ως αποτέλεσμα να κληθεί η συνάρτηση <function>_my_table_column_inserted_func()</function> οποτεδήποτε εκπέμπεται ένα σήμα column_inserted στο <type>AtkObject</type> <varname>my_atk_object</varname>.</para>
<para>Η σύνδεση σε ένα σήμα είναι ελαφρώς διαφορετική αν το σήμα υποστηρίζει λεπτομέρειες παραμέτρων. Το σήμα <constant>children_changed</constant> υποστηρίζει τη λεπτομέρεια παραμέτρου <parameter>add</parameter> . Για να συνδεθείτε σε ένα σήμα όταν έχει καθοριστεί η λεπτομέρεια παραμέτρου <parameter>add</parameter>, χρησιμοποιείτε η εξής τεχνική:</para>
<programlisting>
child_added_id = g_signal_connect_closure (my_atk_obj,"children_changed::add",
g_cclosure_new (G_CALLBACK(_my_children_changed_func), NULL, NULL), FALSE)·
</programlisting>
<para>Αυτό θα έχει ως αποτέλεσμα να κληθεί η συνάρτηση <function>_my_children_changed_func()</function> οποτεδήποτε εκπέμπεται ένα σήμα <constant>children_changed</constant> με τη λεπτομέρεια παραμέτρου <parameter>add</parameter> στο <type>AtkObject</type> <varname>my_atk_obj</varname>.</para>
</section>
<section>
<title>Εκτέλεση ενός αντικειμένου ΑΤΚ</title>
<para>Θα πρέπει να εκτελέσετε τα δικά σας αντικείμενα ΑΤΚ για κάθε γραφικό συστατικό που δεν έχει ακόμη μία προσιτή εκτέλεση στο GAIL (ή την ισοδύναμη βιβλιοθήκη για άλλα σύνολα γραφικών συστατικών). Αυτό θα έπρεπε να εκτελείται ως άρθρωμα GTK, το οποίο, όπως πριν, θα πρέπει να συμπεριληφθεί στη μεταβλητή περιβάλλοντος <envar>GTK_MODULES</envar> έτσι ώστε να φορτώνεται κατά τη διάρκεια της εκτέλεσης.</para>
<section>
<title>Μητρώο</title>
<para>Για αυτό το παράδειγμα θα θεωρήσουν ότι υπάρχει ένα αντικείμενο με ονομασία GTK_TYPE_MYTYPE. Η εκτέλεση του ATK θα καλείτε <type>MYATKIMP_TYPE_MYTYPE</type>. Θα χρειαστεί το εργοστάσιο το οποίο θα καλείται <type>MYATKIMP_TYPE_MYTYPE_FACTORY</type>.</para>
<para>Για να καταχωρήσετε στο μητρώο μία εκτέλεση ΑΤΚ ενός αντικειμένου GTK, θα πρέπει να ακολουθήσετε αυτά τα βήματα στη συνάρτηση αρθρωμάτων <function>gtk_module_init()</function>:</para>
<orderedlist>
<listitem>
<para>Πρόσβαση στο προεπιλεγμένο μητρώο:</para>
<programlisting>
default_registry = atk_get_default_registry();
</programlisting>
</listitem>
<listitem><para>Καταχωρήστε το αντικείμενο ΑΤΚ στη συνάρτηση <function>gtk_module_init()</function> αυτού του αρθρώματος καλώντας αυτή τη συνάρτηση:</para>
<programlisting>
atk_registry_set_factory_type (default_registry, GTK_TYPE_MYTYPE,
MYATKIMP_TYPE_MYTYPE_FACTORY)·
</programlisting>
</listitem>
</orderedlist>
<para>Αυτό θα καταχωρήσει την εκτέλεση AtkObject του <type>GTK_TYPE_MYTYPE</type> στο <type>MYATKIMP_TYPE_MYTYPE_FACTORY</type>. Το εργοστάσιο αυτό θα εκτελεστεί έτσι ώστε να είναι γνωστός ο τρόπος κατασκευής των αντικειμένων για τον τύπο <type>MYATKIMP_TYPE_MYTYPE</type>.</para>
</section>
<section>
<title>Εργοστάσιο</title>
<para>Το εργοστάσιο πρέπει να εκτελείται ως θυγατρικό του τύπου κλάσης <type>ATK_TYPE_OBJECT_FACTORY</type> και πρέπει να εκτελεί τη συνάρτηση <function>create_accessible()</function>. Η συνάρτηση αυτή πρέπει να δημιουργεί ένα κατάλληλο <type>AtkObject</type>. Μπορεί να χρησιμοποιηθεί ένα εργοστάσιο για τη δημιουργία περισσότερων από έναν τύπο αντικειμένου, στην όποια περίπτωση η συνάρτησή του <function>create_accessible()</function> θα απαιτεί να είναι αρκετά ευφυές ώστε να κατασκευαστεί και να επιστραφεί το ορθό <type>AtkObject</type>.</para>
</section>
<section>
<title>Εκτέλεση ΑΤΚ για ένα ειδικό αντικείμενο</title>
<para>Όλα τα <type>GObject</type> εκτελούν μία συνάρτηση <function>get_type()</function>. Χρησιμοποιώντας το παραπάνω παράδειγμα η σύμαση ονομασίας για αυτό το όνομα συνάρτησης θα πρέπει να είναι <function>myatkimp_mytype_get_type()</function>.</para>
<para>Στη συνάρτηση αυτή, θα ορίσετε ποιες διεπαφές θα εκτελεί το αντικείμενό σας. Αν τα επόμενα λογικά ορίσματα συμπεριλαμβάνονται στη συνάρτηση <function>get_type()</function>, το αντικείμενο αυτό θα εκτελεί τη διεπαφή <type>ATK_TEXT</type>:</para>
<example>
<title>Συνάρτηση υπόδειξης <function>get_type()</function></title>
<programlisting>
static const GInterfaceInfo atk_text_info =
{
(GInterfaceInitFunc) atk_text_interface_init,
(GInterfaceFinalizeFunc) NULL,
NULL
};
g_type_add_interface_static (type, ATK_TYPE_TEXT,
&atk_text_info);
</programlisting>
</example>
<para>Η συνάρτηση <function>atk_text_interface_init()</function>, η οποία έχει το ακόλουθο πρωτότυπο, θα πρέπει να εκτελείται ως εξής:</para>
<programlisting>
void atk_text_interface_init (AtkTextIface *iface);
</programlisting>
<para>Η συνάρτηση αυτή θα πρέπει να συνδέει τις κλήσεις συναρτήσεων διεπαφής στη συγκεκριμένη εκτέλεση ως ακολούθως:</para>
<example>
<title>Σύνδεση κλήσεων προσαρμοσμένων διεπαφών σε μία εκτέλεση AtkObject</title>
<programlisting>
void
atk_text_interface_init (AtkTextIface *iface)
{
g_return_if_fail (iface != NULL);
iface->get_text = myatkimp_mytype_get_text;
iface->get_character_at_offset = myatkimp_mytype_get_character_at_offset;
...
}
</programlisting>
</example>
<para>Τότε οι συναρτήσεις <function>myatkimp_mytype_get_text()</function>, <function>myatkimp_mytype_get_character_at_offset()</function>, και το υπόλοιπο των συναρτήσεων διεπαφής <type>ATK_TEXT</type> θα πρέπει να είναι απαραίτητα για την εκτέλεση.</para>
</section>
<section>
<title>Εκτέλεση <type>AtkObject</type></title>
<para>Τα <type>AtkObject</type> είναι <type>GObjects</type>, και όλα τα <type>GObject</type> απαιτούν τον ορισμό της συνάρτησης <function>get_type()</function>. Εδώ υπάρχει ένα παράδειγμα το οποίο ρυθμίζει μία κλάση και την αρχικοποίηση υποδείξεων. Αυτή η συνάρτηση <function>get_type()</function> επίσης ορίζει ότι το αντικείμενο εκτελεί το <type>ATK_TEXT</type> και καθορίζει ως γονικό αντικείμενο να είναι το <type>MYATKIMP_MYPARENTTYPE</type>.</para>
<example>
<title>Εκτέλεση της συνάρτηση <function>get_type()</function> ως παράδειγμα</title>
<programlisting>
GType
myatkimp_mytype_get_type (void)
{
static GType type = 0;
if (!type)
{
static const GTypeInfo tinfo =
{
sizeof (GailLabelClass),
(GBaseInitFunc) NULL, /* base init */
(GBaseFinalizeFunc) NULL, /* base finalize */
(GClassInitFunc) myatkimp_mytype_class_init, /* class init */ (GClassFinalizeFunc) NULL, /* class finalize */
NULL, /* class data */ sizeof (GailLabel), /* instance size */
0, /* nb preallocs */
(GInstanceInitFunc) myatkimp_mytype_instance_init, /* instance init */
NULL /* value table */
};
/* Set up atk_text_info structure used below */
static const GInterfaceInfo atk_text_info =
{
(GInterfaceInitFunc) atk_text_interface_init,
(GInterfaceFinalizeFunc) NULL,
NULL
};
/* Set up typename and specify parent type */
type = g_type_register_static (MYATKIMP_MYPARENTTYPE,
"MyatkimpMytype", &tinfo, 0);
/* This class implements interface ATK_TYPE_TEXT */
g_type_add_interface_static (type, ATK_TYPE_TEXT,
&atk_text_info);
}
return type;
}
</programlisting>
</example>
</section>
<section>
<title>Αρχικοποιήσεις κλάσης/υπόδειξης</title>
<para>Θα πρέπει να ρυθμίσετε μία αρχικοποίηση κλάσης για το <type>GObject</type> αν η εκτέλεση <type>AtkObject</type> είτε:</para>
<orderedlist>
<listitem>
<para>Ορίζει ξανά οποιεσδήποτε κλήσεις συναρτήσεων καθορίστηκαν από το ριζικό κατάλογο του αντικειμένου. Αυτό είναι τυπικά απαραίτητο όταν ένα αντικείμενο πρέπει να εκτελέσει μία συνάρτηση όπως η <function>atk_object_get_n_accessible_children()</function>. Αυτό είναι απαραίτητο αν το αντικείμενο έχει θυγατρικό κατάλογο, αλλά δεν αντιπροσωπεύεται με γραφικά συστατικά.</para>
<para>Για παράδειγμα, αν η εκτέλεση ΑΤΚ πρέπει να παρακάμψει τη συνάρτηση <type>AtkObject</type> <function>get_name()</function>, τότε η αρχικοποίηση κλάσης θα μοιάζει κάπως έτσι:</para>
<example>
<title>Αρχικοποίηση κλάσης η οποία παρακάμπτει την τη συνάρτηση <function>get_name()</function> του ριζικού καταλόγου</title>
<programlisting>
myatkimp_mytype_class_init (GailLabelClass *klass)
{
AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
class->get_name = myatkimp_mytype_get_name;
}
</programlisting>
</example>
</listitem>
<listitem><para>Απαιτεί μία συνάρτηση <function>parent->init</function>, μία <function>parent->notify_gtk</function>, ή μία <function>parent->finalize</function> function. Το παράδειγμα αυτό ορίζει και τις τρεις:</para>
<example>
<title>Αρχικοποίηση κλάσης που ορίζει τις δικές της συναρτήσεις <function>init()</function>, <function>notify_gtk()</function> και <function>finalize()</function></title>
<programlisting>
static ParentObjectType *parent_class = NULL;
myatkimp_mytype_class_init (GailLabelClass *klass)
{
ParentObjectType *parent_class = (ParentObjectType*)klass;
/*
* Caching the parent_class is necessary if the init,
* notify_gtk, or finalize functions are set up.
*/
parent_class = g_type_class_ref (MYATKIMP_TYPE_PARENT);
parent_class->init = myatkimp_mytype_widget_init;
parent_class->notify_gtk = myatkimp_mytype_real_notify_gtk;
parent_class->finalize = myatkimp_mytype_finalize;
}
</programlisting>
</example>
<orderedlist>
<listitem>
<para>parent->init</para>
<para>Ενδεχομένως να είναι απαραίτητα μία συνάρτηση <function>parent->init()</function> αν η εκτέλεση ΑΤΚ χρειάζεται να εφαρμόζει τα ακόλουθα:</para>
<orderedlist>
<listitem>
<para>Αποθήκευση όλων των δεδομένων που λήφθηκαν από ένα γραφικό συστατικό υποστήριξης GTK.</para>
</listitem>
<listitem>
<para>Ακρόαση οποιουδήποτε σήματος από το γραφικό συστατικό υποστήριξης GTK.</para>
</listitem>
</orderedlist>
<para>Δείτε ένα παράδειγμα και για τις δύο περιπτώσεις:</para>
<example>
<title>Μία προσαρμοσμένη συνάρτηση <function>init()</function></title>
<programlisting>
void
gail_tree_view_widget_init (MyatkimpMytype *mytype,
GtkWidget *gtk_widget)
{
/* Make sure to call the parent's init function */
parent_class->init (widget, gtk_widget);
/* Cache a value in the ATK implementation */
mytype->cached_value = gtk_widget_function_call();
/* Listen to a signal */
gtk_signal_connect (GTK_OBJECT (gtk_widget),
"signal-type",
GTK_SIGNAL_FUNC (_myatkimp_mytype_signal_type),
NULL);
}
</programlisting>
</example>
<para>Στο παράδειγμα αυτό, αν το καθορισμένο σήμα <type>signal-type</type> δημιουργήθηκε στο <varname>gtk_widget</varname>υποστήριξης , τότε θα κληθεί η συνάρτηση <function>_myatkimp_mytype_signal_type()</function>.</para>
</listitem>
<listitem>
<para>parent->notify_gtk</para>
<para>Αν η εκτέλεση ATK πρέπει να κάνει ακρόαση σε οποιεσδήποτε ειδοποιήσεις ιδιοτήτων στο αντικείμενο υποστήριξης GTK, ενδεχομένως να είναι απαραίτητη μία συνάρτηση <function>parent->notify_gtk()</function>. Για παράδειγμα:</para>
<example>
<title>Μία προσαρμοσμένη συνάρτηση <function>notify_gtk()</function></title>
<programlisting>
void
myatkimp_mytype_real_notify_gtk (GObject *obj,
GParamSpec *pspec)
{
GtkWidget *widget = GTK_WIDGET (obj);
AtkObject* atk_obj = gtk_widget_get_accessible (widget);
if (strcmp (pspec->name, "property-of-interest") == 0)
{
/* Handle the property change. */
}
else
{
parent_class->notify_gtk (obj, pspec);
}
}
</programlisting>
</example>
</listitem>
<listitem>
<para>parent->finalize</para>
<para>Αν αυτό είναι απαραίτητα για την ελευθέρωση οποιονδήποτε δεδομένων όταν καταστρέφεται μία υπόδειξη <type>GObject</type>, τότε είναι απαραίτητη μία συνάρτηση <function>finalize()</function> για την απελευθέρωση μνήμης. Για παράδειγμα:</para>
<example>
<title>Μία προσαρμοσμένη συνάρτηση <function>finalize()</function></title>
<programlisting>
void
myatkimp_mytype_finalize (GObject *object)
{
MyAtkimpMyType *my_type = MYATKIMP_MYTYPE (object);
g_object_unref (my_type->cached_value);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
</programlisting>
</example>
</listitem>
</orderedlist>
</listitem>
</orderedlist>
</section>
</section>
</section>
<section id="gad-custom">
<title>Δημιουργία προσιτών προσαρμοσμένων στοιχείων</title>
<para>Προσθήκη υποστήριξης ΑΤΚ στο προσαρμοσμένο σας γραφικό συστατικό θα διασφάλιζε τη συνεργασία του με την υποδομή προσιτότητας. Αυτά είναι τα γενικά βήματα που απαιτούνται:</para>
<itemizedlist>
<listitem>
<para>πρόσβαση σε ένα προσαρμοσμένο γραφικό συστατικό σύμφωνα με τις εφαρμόσιμες <link linkend="gad-ui-guidelines">Οδηγίες διεπαφής χρήστη</link>,</para>
</listitem>
<listitem>
<para>
determine which <ulink url="https://developer.gnome.org/atk/stable/interfaces.html">ATK interfaces</ulink> a custom widget should implement, according to the widget's feature set and function;
</para>
</listitem>
<listitem>
<para>
assess which <ulink url="https://developer.gnome.org/atk/stable/interfaces.html">ATK interfaces</ulink> can be inherited from the parent widget class;
</para>
</listitem>
<listitem>
<para>εκτέλεση των κατάλληλων διεπαφών ΑΤΚ για την κλάση του γραφικού συστατικού με έναν από τους δύο εξής τρόπους:</para>
<itemizedlist>
<listitem>
<para>απευθείας από το προσαρμοσμένο γραφικό συστατικό, ή</para>
</listitem>
<listitem>
<para>σε ένα δευτερεύονται τύπο <ulink url="http://library.gnome.org/devel/atk/stable/AtkObject.html"><type>AtkObject</type></ulink> που δημιουργήθηκε από μία νέα υποκλάση <ulink url="http://library.gnome.org/devel/atk/stable/AtkObjectFactory.html"><type>AtkObjectFactory</type></ulink></para>
</listitem>
</itemizedlist>
<para>Αν χρησιμοποιείται η δεύτερη μέθοδος, ο κατάλληλος τύπος εργοστασίου θα πρέπει να καταχωρηθεί με το <type>AtkObjectFactoryRegistry</type> κατά τη διάρκεια της εκτέλεσης.</para>
</listitem>
</itemizedlist>
<para>Ο <ulink url="ftp://ftp.gnome.org/pub/GNOME/sources/gail/">πηγαίος κώδικας GAIL</ulink> παρέχεται ως ένα εξαιρετικό βοήθημα για εξειδικευμένη χρήση του ΑΤΚ.</para>
</section>
<section id="gad-ui-guidelines">
<title>Οδηγίες διεπαφής χρήστη για την υποστήριξη προσιτότητας</title>
<para>Κατά τη σχεδίαη του γραφικού περιβάλλοντος της εφαρμογής σας, υπάρχει ένας αριθμός απλών οδηγιών που θα πρέπει να ακολουθούνται για να βεβαιωθείτε ότι μπορεί να χρησιμοποιηθεί από όσο πιο ευρύ κοινό είναι δυνατό, είτε σε συνδυασμό με τεχνολογίες υποβοήθησης είτε όχι. Μην νομίσετε ότι αυτό είναι μόνο μία περίπτωση της "δημιουργίας του δικού σας χρήσιμου γραφικού περιβάλλοντος από άτομα με ανικανότητες", αν και, δεν θα πρέπει να ανησυχείτε αν ένα άτομο με ανικανότητες δεν πρόκειται να χρησιμοποιήσει την εφαρμογή αυτή. Ακολουθώντας αυτές τις οδηγίες θα βελτιωθεί η συνολική χρησιμότητα της εφαρμογής για κάθε έναν που την χρησιμοποιεί - ακόμη και για εσάς!</para>
<section>
<title>Γενικά</title>
<para>Όλοι θα απογοητευόμασταν αν δεν μπορούσαμε να εντοπίσουμε μία λειτουργία σε μία εφαρμογή, ή αν κάναμε ένα λάθος βήμα από το οποίο θα έπρεπε να περιμένουμε κάποια λεπτά για την αναίρεσή του, ή αν δεν ήταν καν δυνατή η αναίρεσή του. Αν έχετε κάποιο είδος αναπηρίας, οι εναλλακτικές λύσεις θα ήταν κάποια διακοπή της προσπάθειας ή του χρόνου που θα χρειαζόταν για την ενέργεια αλλιώς τα πράγματα θα ήταν αρκετά πιο δύσκολα. Ακολουθώντας μερικές βασικές οδηγίες θα μπορούσαν να σας βοηθήσουν να εμποδίσετε αυτά τα είδη περιπτώσεων για όλους τους χρήστες.</para>
<itemizedlist>
<listitem>
<para>Κάντε Αναίρεση για κάθε ενέργεια που τροποποιεί τα δεδομένα χρήστη ή τις ρυθμίσεις της εφαρμογής. Αν είναι δυνατό, να παρέχετε περισσότερα από ένα επίπεδα αναίρεση ή επανάληψης, και μία λίστα ιστορικού που θα επιτρέπει την προεπισκόπηση των ενεργειών που θα αναιρεθούν.</para>
</listitem>
<listitem>
<para>Εκτελέστε κάποιες εντολές για την επαναφορά των προεπιλεγμένων ρυθμίσεων. Αν κάποια συγκεκριμένη ρύθμιση καθιστά την εφαρμογή απόλυτα μη χρησιμοποιήσιμη για κάτι ειδικό, π.χ. για την κατασκευή πολύ μικρών γραμματοσειρών, θα ήταν χρήσιμο να παρέχετε μία επιλογή για την επαναφορά των προεπιλεγμένων ρυθμίσεων ανεξάρτητα από την εφαρμογή. Αυτό θα μπορούσε να γίνει χρησιμοποιώντας μία εναλλαγή γραμμής εντολής, για παράδειγμα.</para>
</listitem>
<listitem>
<para>Βοηθήστε στο να εμποδίσετε τους χρήστες να ενεργούν με λανθασμένο τρόπο. Αυτό είναι ιδιαίτερα σημαντικό για ενέργειες που θα μπορούσαν να εκτελεστούν καταλάθος (π.χ. οι ενέργειες του ποντικιού) ή που δεν θα μπορούσαν να αναιρεθούν εύκολα (π.χ. η αντικατάσταση ενός αρχείου). Μπορείτε να το πραγματοποιήσετε χρησιμοποιώντας διαλόγους επιβεβαίωσης ή αναγκάζοντας το χρήστη να μεταβαίνει σε συγκεκριμένη λειτουργία για την εφαρμογή επιλογών ενδεχομένως καταστροφικών.</para>
</listitem>
<listitem>
<para>Ελαχιστοποιήστε τη φόρτωση της μνήμης των χρηστών. Για παράδειγμα, επιτρέψτε στο χρήστη να προβάλλει πολλαπλά έγγραφα ταυτόχρονα, και βεβαιωθείτε ότι η δικτυακή βοήθεια ή άλλες οδηγίες μπορούν να παραμείνουν ορατές ενώ αυτά μεταφέρονται έξω από τη διαδικασία που περιγράφεται. Επιτρέψτε τους να αντιγράψουν οποιεσδήποτε πληροφορίες που προβάλλονται, και να τις επικολλήσουν οπουδήποτε μπορούν να εισαχθούν δεδομένα.</para>
</listitem>
<listitem>
<para>Μην αφήσετε τους χρήστες να εισάγουν δίσκους. Ανάλογα με τη συγκεκριμένη αναπηρία ενός χρήστη, ίσως βρουν πολύ δύσκολη την φυσική εισαγωγή ενός δίσκου, ή ίσως δύσκολη την αναγνώριση του ορθού δίσκου στην πρώτη τοποθεσία. Αν η εφαρμογή σας εγκαθίσταται από την είσοδο δίσκων, παρέχετε μία επιλογή για αντιγραφή όλων των αρχείων που θα απαιτηθούν στο σκληρό δίσκο του χρήστη.</para>
</listitem>
<listitem>
<para>Μη τοποθετείτε συναρτήσεις που χρησιμοποιούνται συχνά μακριά από την αρχή της δομής του μενού. Αν χρησιμοποιείτε ποντίκι, πληκτρολόγιο ή κάποια άλλη συσκευή εισόδου, θα πρέπει να αποφεύγονται βαθιά εμφωλευμένα στοιχεία μενού. Εκτός επίσης από την επιβάρυνση της απομνημόνευσης του τρόπου εύρεσής τους, είναι πάντα περισσότερο δύσκολη και χρειάζεται χρόνο η πρόσβαση σε αυτά.</para>
</listitem>
<listitem>
<para>Μην οδηγείτε τους χρήστες σε μη απαραίτητα βήματα. Για παράδειγμα, οι αυτόματοι οδηγοί είναι χρήσιμοι για χρήστες που έχουν πρόβλημα στη διαχείριση μεγάλων αριθμών από επιλογές ταυτόχρονα, αλλά άλλοι χρήστες ενδεχομένως επιθυμούν να ελαχιστοποιήσουν το χρονικό διάστημα ή τις πληκτρολογήσεις που χρησιμοποιούν. Τέτοιου είδους χρήστες ωφελούνται με το να μπορούν να παραβλέπουν βήματα ή να μεταβαίνουν απευθείας στο βήμα που χρειάζονται. Θυμηθείτε να παρέχετε ένα κουμπί <guibutton>Τέλος</guibutton> στους οδηγούς αυτούς το οποίο θα μεβαίνει μέχρι το τέλος και θα θεωρεί τις προεπιλεγμένες απαντήσεις για τα ενδιάμεσα βήματα. Αν η διαδικασία έχει πολλά βήματα. θυμηθείτε να ρωτήσετε το χρήστη στην εκκίνηση αν επιθυμεί να δει όλα τα βήματα, ή απλά να επιλεγούν αυτόματα αυτά που χρησιμοποιούνται πιο συχνά.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Πλοήγηση μέσω πληκτρολογίου</title>
<para>Ένα καλώς σχεδιασμένη διεπαφή χρήστη αναπαράγει ένα ρόλο πλήκτρων όταν σχεδιάζεται λογισμικό με προσιτότητα. Τα άτομα που είναι τυφλά μπορούν να πληγηθούν σε ένα λογισμικό πιο αποτελεσματικά χρησιμοποιώντας το πληκτρολόγιο, επειδή η χρήση του ποντικιού εξαρτάται από την οπτική ανάδραση της θέσης του δείκτη του. Επισης, τα προβλήματα κινητικότητας μπορούν να εμποδίσουν ένα χρήστη από την επιτυχή πλοήγηση με χρήση του ποντικιού, επειδή απαιτούνται υψηλές δεξιότητες ελέγχου της κίνησης.</para>
<para>Είναι επομένως σημαντικό να κάνετε διαθέσιμες όλες τις ενέργειες του ποντικιού και μέσω του πληκτρολογίου και, να συμπεριλάβετε την πρόσβαση του πληκτρολογίου σε όλες τις εργαλειοθήκες, τα μενού, τους συνδέσμους και τα κουμπιά. Κάθε συνάρτηση που παρέχει η εφαρμογή σας θα πρέπει να είναι διαθέσιμη χρησιμοποιώντας μόνο το πληκτρολόγιο. Αποκρύψτε το ποντίκι σας ενώ δοκιμάζετε την εφαρμογή αν έτσι πρέπει να κάνετε!</para>
<para>Με περισσότερη λειτουργικότητα θα ήταν πιο εύκολη η προσιτότητα χρησιμοποιώντας απομνημονεύσεις και επιταχυντές πληκτρολογίου, και λειτουργίες πλοήγησης με ενσωματωμένα βοηθήματα. Παρόλα αυτά, λειτουργίες που εξαρτώνται από τη μεταφορά κι απόθεση, για παράδειγμα, ενδεχομένως να απαιτούν περισσότερη συγκέντρωση.</para>
<itemizedlist>
<listitem>
<para>Παρέχετε αποτελεσματική πρόσβαση μέσω πληκτρολογίου σε όλες τις λειτουργίες της εφαρμογής. Μερικοί χρήστες ενδεχομένως να μη μπορούν να χρησιμοποιήσουν το ποντίκι, και πολλοί "πλήρως ενεργοί χρήστες" προτιμούν να χρησιμοποιούν το πληκτρολόγιο ούτως η άλλως. Επίσης, μερικές ειδικευμένες συσκευές εισόδου τεχνολογίας υποβοήθησης ενδεχομένως προσομοιώνουν συμβάντα του πληκτρολογίου αντί για συμβάντα μέσω του ποντικιού. Επειδή η πληκτρολόγησ είναι δύσκολη ή ακόμη και οδυνηρή για μερικούς χρήστες, είναι σημαντικό να παρέχετε μία διεπαφή πληκτρολογίου που ελαχιστοποιεί το αριθμό πληκτρολογήσεων που απαιτούνται για κάθε δοθείσα εργασία.</para>
</listitem>
<listitem>
<para>Χρησιμοποιήστε μία λογική σειρά πλοήγησης μέσω πληκτρολογίου. Κατά την πλοήγηση γύρω από ένα παράθυρο με το πλήκτρο <keycap>Tab</keycap>, η εστίαση πληκτρολογίου θα μετακινείται μεταξύ ελέγχων σε μία προβλεπόμενη σειρά. Στην δυτική κυρίων εντοπιότητα, αυτό είναι συνήθως από αριστερά προς δεξιά και από πάνω προς τα κάτω.</para>
</listitem>
<listitem>
<para>Βεβαιωθείτε για την ορθή σειρά καρτελών για ελέγχους των οποίων η ενεργοποιημένη κατάσταση εξαρτάται από ένα πεδίο ελέγχου, ένα κουμπί συχνοτήτων ή μία δήλωση κουμπιού εναλλαγής. Αν είναι επιλεγμένο κάποιο κουμπί τέτοιου είδους, όλοι οι εξαρτώμενοι έλεγχοι θα πρέπει να είναι ενεργοποιημένοι, και όλοι οι εξαρτώμενοι έλεγχοι για κάθε άλλο κουμπί στην ομάδα απενεργοποιημένο αντίστοιχα. Όταν ο χρήστης επιλέγει ένα πεδίο ελέγχου, κουμπί συχνοτήτων ή εναλλαγής που έχει εξαρτώμενους ελέγχους, μη δίνετε αυτόματη εστίαση στον πρώτο εξαρτώμενο έλεγχο, αλλά αντί για αυτό αφήστε την εστίαση στο κουμπί.</para>
</listitem>
<listitem>
<para>Μην αντικαθιστάτε υπάρχουσες λειτουργίες προσιτότητας για το επίπεδο του συστήματος. Για παράδειγμα, το <ulink url="http://www.rehab.uiuc.edu/accessx/overview.html">AccessX</ulink> είναι μία επέκταση Xserver που δεν υποστηρίζεται από την έκδοση του X11R6. Η λειτουργία Mousekeys της επέκτασης αυτής επιτρέπει την κίνηση του ποντικιού και κλικ κουμπιών να προσομοιώνονται χρησιμοποιώντας το πληκτρολόγιο. Συνεπώς, θα πρέπει να προσθέσετε λειτουργίες στην εφαρμογή που να μπορούν να είναι προσιτές πιέζοντας πλήκτρα στο πληκτρολόγιο, επειδή οι χρήστες που στηρίζονται στη λειτουργία Mousekeys δεν θα μπορούν να τα χρησιμοποιήσουν.</para>
</listitem>
<listitem>
<para>Παρέχετε περισσότερες από μία μεθόδους για την εφαρμογή εργασιών του πληκτρολογίου όπου είναι δυνατό. Μερικοί χρήστες ενδεχομένως βρίσκουν μερικά πλήκτρα και συνδυασμούς πλήκτρων πιο εύκολα σε χρήση από κάποια άλλα.</para>
</listitem>
<listitem>
<para>Παρέχετε ταυτόχρονα πρόσβαση μέσω ποντικιού και μέσω πληκτρολογίου όπου είναι δυνατό. Μερικοί χρήστες ενδεχομένως να μπορούν να χρησιμοποιήσουν είτε το ποντίκι είτε το πληκτρολόγιο, αλλά όχι και τα δύο μαζί.</para>
</listitem>
<listitem>
<para>Μη αναθέτετε αδέξιες εκτάσεις σε λειτουργίες πληκτρολογίου που εκτελούνται συχνά. Μερικά άτομα ενδεχομένως να χρησιμοποιούν μόνο ένα χέρι στο πληκτρολόγιο, έτσι οι συντομεύσεις πληκτρολογίου που μπορούν εύκολα να χρησιμοποιηθούν με ένα χέρι να είναι πιο επιθυμητές για τις κοινές λειτουργίες. Σε κάθε περίπτωση, όταν πρέπει να εκτελείτε συχνά μακρές και δύσκολες εκτάσεις στο πληκτρολόγιο, αυτό μπορεί να αυξήσει τις πιέσεις των μυών για όλους τους χρήστες, αυξάνοντας τον κίνδυνο πόνου και τραυματισμού.</para>
</listitem>
<listitem>
<para>Μην απαιτείτε επαναλαμβανόμενη χρήση ταυτόχρονων πλήκτρων. Μερικοί χρήστες μπορούν μόνο να πιέζουν και να κρατούν ένα πλήκτρο κάθε φορά. Οι τεχνολογίες υποβοήθηθσης όπως το AccessX ενδεχομένως επιτρέπουν στους χρήστες να πιέζουν τα πλήκτρα διαδοχικά από το να το κάνουν ταυτόχρονα, αλλά αυτό φυσικά σημαίνει ότι ο χρόνος της διαδικασίας θα είναι μεγαλύτερος.</para>
</listitem>
<listitem>
<para>Βεβαιωθείτε ότι οποιοδήποτε κείμενο που μπορεί να επιλεγεί με το ποντίκι μπορεί επίσης να επιλεγεί με τη χρήση πληκτρολογίου. Αυτό παρέχει μία άνεση για όλους τους χρήστες, αλλά ειδικά για εκείνους των οποίων ο ορθός έλεγχος του ποντικιού είναι δύσκολος.</para>
</listitem>
<listitem>
<para>Βεβαιωθείτε ότι τα αντικείμενα που μπορούν να αλλάξουν μέγεθος ή να μετακινηθούν με μεταφορά κι απόθεση μπορούν να αλλάξουν μέγεθος και να μετακινηθούν με τη χρήση πληκτρολογίου. Για παράδειγμα, τα εικονίδια και τα παράθυρα στην επιφάνεια εργασίας. Όπου η αλλαγή μεγέθους και η τοποθέτηση με ακρίβεια είναι ενδεχόμενα σημαντικά, π.χ. τα σχήματα σε ένα γράφημα, επίσης θυμηθείτε να παρέχετε ένα διάλογο στον οποίο να μπορείτε να πληκτρολογήσετε τις συντεταγμένες, ή ένα μέσο διαχείρισης αντικειμένων σε ένα πλέγμα που καθορίζεται από το χρήστη.</para>
</listitem>
<listitem>
<para>Μη χρησιμοποιείτε συναρτήσεις γενικής πλοήγησης για την εκτέλεση λειτουργιών. Για παράδειγμα, μην χρησιμοποιείτε τη βασική πλοήγηση πληκτρολογίου με το πλήκτρο <keycap>Tab</keycap> σε ένα διάλογο οποιωνδήποτε ενεργειών που σχετίζονται με έναν έλεγχο.</para>
</listitem>
<listitem>
<para>Εμφανίστε μενού, παράθυρα, και συμβουλές οθόνης που επικαλέστηκατε με το πληκτρολόγιο, κοντά στο αντικείμενο με το οποίο σχετίζονται. Στο GNOME 2.0, οι χρήστες μπορούν να καλούν αναδυόμενα μενού με το συνδυασμό πλήκτρων <keycombo><keycap>Shift</keycap><keycap>F10</keycap></keycombo>, και συμβουλές οθόνης με το συνδυασμό <keycombo><keycap>Shift</keycap><keycap>F1</keycap></keycombo>. Μην αποκρύπτετε εντελώς ή επισκοτίζετε το αντικείμενο στο οποίο αναφέρεται το μενού ή η συμβουλή οθόνης, παράλα αυτά.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Χρήση του ποντικιού</title>
<para>Θυμηθείτε δε μπορεί ο καθένας να χρησιμοποιήσει ένα ποντίκι με ισοδύναμη επιδεξιότητα και ότι μερικοί χρήστες ενδεχομένως να μην μπορούν να δουν ή να ακολουθήσουν το δείκτη του ποντικιού.</para>
<itemizedlist>
<listitem>
<para>Μην εξαρτάστε από την εισαγωγή του κουμπιού 2 ή 3 του ποντικιού. Εκτός επίσης από το πιο δύσκολο φυσικό κλικ, μερικές συσκευές ένδειξης και πολλές συσκευές τεχνολογίας υποβοήθησης υποστηρίζουν μόνο το κουμπί 1. Μερικές τεχνολογίες υποβοήθησης δεν υποστηρίζουν καθόλου το ποντίκι, αλλά αντί για αυτό χρησιμοποιούν το πληκτρολόγιο.</para>
</listitem>
<listitem>
<para>Επιτρέψτε σε όλες τις λειτουργίες του ποντικιού να μπορούν να ακυρωθούν. Πιέζοντας το πλήκτρο <keycap>Esc</keycap> θα μπορούσε να ακυρωθεί οποιαδήποτε λειτουργία του ποντικιού που βρισκόταν σε εξέλιξη, όπως η μεταφορά κι απόθεση σε ένα διαχειριστή αρχείων , ή η σχεδίαση ενός σχήματος σε ένα πρόγραμμα σχεδίασης.</para>
</listitem>
<listitem>
<para>Παρέχετε οπτική ανάδραση κατά τη διάρκεια της λειτουργίας μεταφοράς κι απόθεσης. Ενώ το ποντίκι διέρχεται πάνω από έγκυρους προορισμούς, τους επισημαίνει και τροποποιείται ο δείκτης του. Χρησιμοποιήστε το δείκτη του ποντικιού για "μη μεταφορά" όταν διέρχεται πάνω από μη έγκυρους προορισμούς για μεταφορά. Δείτε τα <link linkend="gad-mouse-examples">Παραδείγμα ανάδρασης ποντικιού</link>.</para>
</listitem>
<listitem>
<para>Μην μετατρέπετε το δείκτη του ποντικιού, ή περιορίζετε την κίνησή του σε ένα μέρος της οθόνης. Αυτό θα συγκρουστεί με τις τεχνολογίες υποβοήθησης, και συνήθως μπερδεύει ακόμη και χρήστς που δεν εξαρτώνται από ΑΤ.</para>
</listitem>
<listitem>
<para>Μην κατασκευάζετε τους προορισμούς του ποντικιού πολύ μικρόυς. Γενικά, οι προορισμοί του ποντικιού θα πρέπει να έχουν τουλάχιστον το μέγεθος της "ενεργής περιοχής" γύρω από το προσαρμόσιμο περίγραμμα παραθύρου στον τρέχοντα διαχειριστή παραθύρων ή θέμα - έχοντας κατά νου ότι ένας χρήστης με μειωμένη επιδεξιότητα ή όραση ενεδεχομένως να χρησιμοποιεί ένα διαχειριστή παραθύρων με μεγάλες περιοχές από το προεπιλεγμένο μέγεθος.</para>
</listitem>
</itemizedlist>
<section id="gad-mouse-examples">
<title>Παραδείγματα σχετικά με τη χρήση του ποντικιού</title>
<figure>
<title>Παράδειγμα δείκτη "no-drop" από CDE/Motif</title>
<mediaobject><imageobject> <imagedata fileref="figures/nodrop.png" format="PNG"/> </imageobject> <textobject> <phrase>Παράδειγμα ενός "άκυρου προορισμού απόθεσης" σχήματος δείκτη</phrase> </textobject></mediaobject>
</figure>
</section>
</section>
<section>
<title>Γραφικά στοιχεία</title>
<para>Παρέχετε επιλογές προσαρμογής της παρουσίασης όλων των σημαντικών γραφικών στοιχείων στην εφαρμογή σας. Αυτό θα το κάνει πιο εύκολο στη χρήση για άτομα με προβλήματα όρασης ή γνωστικές διαταραχές.</para>
<itemizedlist>
<listitem>
<para>Μην δίνετε σταθερή κωδικοποίηση σε γραφικά στοιχεία όπως μία γραμμή, περίγραμμα ή πάχος σκιάς. Αυτά τα στοιχεία θα πρέπει ιδανικά να φορτώνονται από το GTK ή το θέμα του διαχειριστή παραθύρων. Αν αυτό δεν είναι δυνατό. παρέχετε επιλογές μέσω της εφαρμογής σας για τροποποίησή τους.</para>
</listitem>
<listitem>
<para>Παρέχετε περιγραφικά ονόματα για όλα τα περιεχόμενα της διεπαφής. Η βιβλιοθήκη GAIL παρέχει προεπιλεγμένες προσιτές περιγραφές για πολλά γραφικά συστατικά GTK, αλλά ακόμη και τότε θα απαιτείται η προσθήκη των δικών σας σε μερικές περιπτώσεοις, όπως για γραφικά συστατικά αντί για κείμενο (π.χ. μία πολύχρωμη παλέτα, ή ένα εικονίδιο χωρίς ετικέτα). Θυμηθείτε να αντικαταστήσετε τις προεπιλογές με πιο βοηθητικές ή πιο ειδικευμένες περιγραφές για την εφαρμογή σας όπου αυτό είναι δυνατό.</para>
</listitem>
<listitem>
<para>Επιτρέψτε σε πολύχρωμα γραφικά στοιχεία (π.χ. εικονίδια εργαλειοθήκης) να εμφανίζονται μόνο με ένα χρώμα, αν αυτό είναι δυνατό. Αυτές οι μονόχρωμες εικόνες θα εμφανίζονται στα χρώματα προσκηνίου και παρασκηνίου του συστήματος, τα οποία έχει επιλέξει ο χρήστης (με επιλογή του θέματος GTK) για μέγιστη ευκρίνεια.</para>
</listitem>
<listitem>
<para>Κατασκευάστε αλληλεπιδραστικά στοιχεία περιβάλλοντος που να είναι εύκολα αναγνωρίσιμα. Για παράδειγμα, μην αναγκάσετε το χρήστη να περνά το ποντίκι του πάνω από ένα αντικείμενο για να αναγνωρίσει αν μπορεί να γίνει κλικ πάνω του ή όχι. Αφήστε επαρκές διάστημα μεταξύ αντικειμένων και καθαρά οριοθετημένα όρια αντικειμένων. Μην προβάλλετε στοιχεία περιβάλλοντος που φαίνονται αρκετά καλαίσθητα αλλά στην πραγματικά δεν έχουν κανένα αποτέλεσμα, εκτός κι παρέχετε επίσης μία επιλογή απενεργοποίησής τους.</para>
</listitem>
<listitem>
<para>Παρέχετε μία επιλογή απόκρυψης που δεν μεταφέρει πολύ σημαντικές πληροφορίες. Οι γραφικές εικόνες μπορούν να αποσπούν την προσοχή των χρηστών σε μερικές γνωστικές διαταραχές. Τα εικονίδια στο μενού του GNOME, για παράδειγμα, μπορούν να απενεργοποιηθούν ενώ εξακολουθεί να αφήνεται το μενού πλήρως λειτουργικό.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Γραμματοσειρές και κείμενο</title>
<para>Ακόμα και για ένα χρήστη με κανονική όραση, η αναλυτική έξοδος παρέχει την πλειοψηφία των πληροφοριών και της ανάδρασης στις περισσότερες εφαρμογές. Είναι συνεπώς κρίσιμο όσον αφορά την επιλογή και την ορθή τοποθέτηση του κειμένου στην οθόνη, και τη δυνατότητα επιλογής γραμματοσειράς και μεγέθους για το χρήστη, ώστε να βεβαιωθείτε ότι άτομα με προβλήματα όρασης μπορούν επίσης να χρησιμοποιούν αποτελεσματικά την εφαρμογή σας.</para>
<itemizedlist>
<listitem>
<para>Μην κωδικοποιείτε σταθερά τύπους και μεγέθη γραμματοσειρών. Ο χρήστης θα είναι ικανός να προσαρμόσει όλα τα μεγέθη και τις γραμματοσειρές. Αν για κάποιο λόγο δεν μπορείτε να κάνετε διαθέσιμη αυτή τη λειτουργικότητα, ποτέ να μην κωδικοποιείτε σταθερά μεγέθη γραμματοσειρών μικρότερα από 10 πόντους.</para>
</listitem>
<listitem>
<para>Παρέχετε επιλογές για την απενεργοποίηση των γραφικών σκηνικών ή των "υδατογραφημάτων" πίσω από το κείμενο. Τέτοιες εικόνες παρεμβαίνουν με την αντίθεση μεταξύ του κειμένου και του παρασκηνίου του, το οποίο μπορεί να προκαλέσει δυσκολία για χρήστες με προβλήματα όρασης.</para>
</listitem>
<listitem>
<para>Προσθέστε ετικέτες σε αντικείμενα με ονόματα τα οποία έχουν σημασία όταν εξέρχονται από το περιεχόμενο. Οι χρήστες που στηρίζονται σε αναγνώστες οθόνης ή παρόμοιες τεχνολογίες υποβοήθησης δεν θα μπορούν απαραίτητα να καταλάβουν άμεσα τη σχέση μεταξύ ενός ελέγχου και του τμήματος που το περιβάλλει.</para>
</listitem>
<listitem>
<para>Μην χρησιμοποιείτε την ίδια ετικέτα περισσότερο από μία φορά στο ίδιο παράθυρο. Αν χρησιμοποιείτε την ίδια ετικέτα σε διαφορετικά παράθυρα, θα σας βοηθήσει αν αυτό σημαίνει το ίδιο πράγμα και στα δύο παράθυρα. Επίσης, μην χρησιμοποιείτε ετικέτες που συλλαβίζονται διαφορετικά αλλά βγάζουν τον ίδιο ήχο,, π.χ. στα αγγλικά οι λέξεις "Read" και "Red", επειδή αυτό θα αποπροσανατόλιζε τους χρήστες που στηρίζονται σε αναγνώστες οθόνης.</para>
</listitem>
<listitem>
<para>Τοποθετήστε με συνέπεια ετικέτα στην εφαρμογή σας. Αυτό τυπικά σημαίνει απευθείας κάτω από μεγάλα εικονίδια, απευθείας στα δεξιά των μικρών, και απευθείας πάνω ή στα αριστερά των άλλων ελέγχων. Δείτε τα <link linkend="gad-font-examples">Παραδείγματα γραμματοσειρών και κειμένου</link>.</para>
</listitem>
<listitem>
<para>Όταν χρησιμοποιείτε στατικό κείμενο σε ετικετά για έναν έλεγχο, τελειώστε την ετικέτα με μία άνω-κάτω τελεία. Για παράδειγμα, το <guilabel>Όνομα χρήστη:</guilabel> για την εισαγωγή ετικέτα στο πεδίο κειμένου όπου ο χρήστης θα πληκτρολογήσει το όνομα χρήστη. Αυτό θα τον βοηθήσει να το αναγνωρίσει ως ετικέτα ελέγχου αντί για ένα ανεξάρτητο στοιχείο κειμένου.</para>
</listitem>
<listitem>
<para>Όταν χρησιμοποιείτε στατικό κείμενο σε ετικετά για έναν έλεγχο, βεβαιωθείτε ότι η ετικέτα προηγείται άμεσα από τον έλεγχο αυτό στην σειρά της καρτέλας. Αυτό θα σας βεβαιώσει ότι η απομνημόνευση (υπογραμμισμένος χαρακτήρας) που ανατίθεται στην ετικέτα θα μετακινήσει την εστίασης ή θα ενεργοποιήσει το σωστό έλεγχο όταν την πιέσετε.</para>
</listitem>
<listitem>
<para>Παρέχετε εναλλακτικές λύσεις με το πρότυπο WYSIWYG. Μερικοί χρήστες ενδεχομένως χρειάζονται να εκτυπώσουν κείμενο σε μία μικρή γραμματοσειρά αλλά να το επεξεργαστούν σε μία μεγαλύτερη γραμματοσειρά οθόνης, για παράδειγμα. Πιθανές εναλλακτικές λύσεις περιλαμβάνουν την προβολή όλου του κειμένου στην ίδια γραμματοσειρά και μέγεθος (και οι δύο επιλέγονται από το χρήστη), μία επιλογή "αναδίπλωσης στο παράθυρο" που σας επιτρέπει να κάνετε ανάγνωση όλου του κειμένου σε ένα παράθυρο χωρίς να κάνετε κύλιση οριζόντια, μία απλή προβολή στηλών που εμφανίζει τα περιεχόμενα του παραθύρου σε μία απλή στήλη ακόμη κι αν εκτυπωθούν σε πολλαπλές στήλες και, μία προβολή μόνο με κείμενο, όπου τα γραφικά στοιχεία εμφανίζονται σε ένα πεδίο υπόδειξης ή με περιγραφές κειμένου. Αν η εφαρμογή έχει πλαίσια με θυγατρικούς ελέγχους, θυμηθείτε να επιτρέπετε στα πλαίσια να αλλάζουν μέγεθος κατά μήκος του γονικού παραθύρου.</para>
</listitem>
</itemizedlist>
<section id="gad-font-examples">
<title>Παραδείγματα γραμματοσειρών και κειμένου</title>
<figure id="label-placement-example">
<title>Ορθή τοποθέτηση ετικετών για διάφορα στοιχεία περιβάλλοντος</title>
<informaltable frame="all">
<tgroup cols="3" align="center">
<tbody>
<row>
<entry valign="middle"><mediaobject>
<imageobject>
<imagedata fileref="figures/label_above.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>List control with label above</phrase>
</textobject>
</mediaobject> Κατηγοριοποίηση ελέγχου με ετικέτα από πάνω</entry>
<entry valign="middle"><mediaobject>
<imageobject>
<imagedata fileref="figures/label_below.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Large file manager icon with label underneath</phrase>
</textobject>
</mediaobject> Μεγάλο εικονίδιο διαχειριστή αρχείων με ετικέτα από κάτω</entry>
<entry valign="middle"><mediaobject>
<imageobject>
<imagedata fileref="figures/label_right.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Small toolbar icon with label to its right</phrase>
</textobject>
</mediaobject> Μικρό εικονίδιο εργαλειοθήκης με ετικέτα στα δεξιά του</entry>
<entry valign="middle"><mediaobject>
<imageobject>
<imagedata fileref="figures/label_left.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Spinbox control with label to its left</phrase>
</textobject>
</mediaobject> Περιστρεφόμενος έλεγχος με ετικέτα στα αριστερά του</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</figure>
</section>
</section>
<section>
<title>Χρώματα και αντίθεση</title>
<para>Η λιττή επιλογή χρωμάτων στην οθόνη ενδεχομένως προκαλέσει προβλήματα σε χρήστες με αχρωματοψία (για τους οποίους η απόχρωση είναι σημαντική) ή με χαμηλό επίπεδο όραση (για τους οποίους η φωτεινότητα/αντίθεση είναι σημαντική). Γενικά, θα πρέπει να επιτρέπετε στο χρήστη να προσαρμόζει τα χρώματα σε οποιοδήποτε τμήμα της εφαρμογής σας που μεταφέρει σημαντικές πληροφορίες.</para>
<para>Οι χρήστες με προβλήματα όρασης ενδεχομένως απαιτούν ένα υψηλό επίπεδο αντίθεσης μεταξύ των χρωμάτων παρασκηνίου και κειμένου. Συχνά ένα μαύρο παρασκήνιο και το λευκό κείμενο χρησιμοποιείται για να αποτρέψει την "σύγχυση". Αυτέ οι ρυθμίσεςι είναι κρίσιμες για χρήστες με προβλήματα όρασης.</para>
<itemizedlist>
<listitem>
<para>Μην κωδικοποιείτε σταθερά τα χρώματα της εφαρμογής. Μερικοί χρήστες χρειάζονταινα χρησιμοποιήσουν συγκεκριμένους συνδυασμούς χρωμάτων αντίθεσης για να μπορούν να αναγνώσουν την οθόνη με άνεση. Συνεπώς όλα τα κύρια χρώματα που χρησιμοποιείτε στην εφαρμογή GNOME θα πρέπει να προέρχονται από το θέμα GTK, έτσι ώστε ο χρήστης να μπορείς ρυθμίσεςι τα χρώματα για όλες τις εφαρμογές του σε κάτι ευανάγνωστο απλά αλλάζοντας το θέμα. Αν για κάποιο λόγο χρειάζεστε να χρησιμοποιήσετε χρώματα που δεν είναι διαθέσιμα στο θέμα, βεβαιωθείτε ότι είναι προσαρμόσιμα εντός της εφαρμογής.</para>
</listitem>
<listitem>
<para>Μην χρησιμοποιείτε το χρώμα ως το μόνο μέσο για τη διάκριση στοιχείων από πληροφορίες. Όλες αυτές οι πληροφορίες θα παρέχονται από τουλάχιστον άλλη μία μέθοδο, όπως το σχήμα, η θέση ή η αναλυτική περιγραφή. Δείτε τα <link linkend="gad-color-examples">Παραδείγματα χρωμάτων και υψηλής αντίθεσης</link>.</para>
</listitem>
<listitem>
<para>Υποστηρίξτε όλα τα θέματα υψηλής αντίθεσης του GNOME. Βεβαιωθείτε ότι όταν επιλέγεται ένα από αυτά τα θέματα, όλο το κείμενο στην εφαρμογή σας εμφανίζεται στο προσκήνιο με υψηλή αντίθεση και στα χρώματα του παρασκηνίου που καθορίστηκαν από το θέμα.</para>
</listitem>
<listitem>
<para>Βεβαιωθείτε ότι η εφαρμογή σας δεν εξαρτάται από ένα συγκεκριμένο θέμα υψηλής αντίθεσης. Ελέγξτε το με διαφορετικά θέματα υψηλής αντίθεσης για να βεβαιωθείτε ότι η εφαρμογή σας διατηρεί τις ρυθμίσεις.</para>
</listitem>
</itemizedlist>
<section id="gad-color-examples">
<title>Παραδείγματα σχετικά με τα χρώματα και την αντίθεση</title>
<example>
<title>Παράδειγμα αποτύπωσης της περιττής χρήσης χρώματος</title>
<informaltable frame="all">
<tgroup cols="2">
<tbody>
<row>
<entry valign="middle">
<mediaobject><imageobject> <imagedata fileref="figures/color_only.png" format="PNG"/> </imageobject> <textobject> <phrase>Παράδειγμα εμφάνισης αλλαγών σε τιμή παρακαταθήκης χρησιμοποιώντας μόνο χρώμα</phrase> </textobject></mediaobject>
</entry>
<entry>Αυτή η προβολή θα μπορούσε να προκαλέσει προβλήματα για έναν χρήστη που έχει αχρωματοψία σε κόκκινο-πράσινο (η αχρωματοψία πλήττει 1 από τους 7 άνδρεας σε μερικά μέρη του κόσμου). Η έλλειψη της αντίθεσης μεταξύ του κόκκινου κειμένου και του μαύρου παρασκηνίου θα μπορούσε επίσης να κάνει δύσκολη την ανάγνωση από ένα χρήστη με χαμηλή όραση, ακόμα και με ένα μεγεθυντή οθόνης.</entry>
</row>
<row>
<entry valign="middle">
<mediaobject><imageobject> <imagedata fileref="figures/color_and_arrows.png" format="PNG"/> </imageobject> <textobject> <phrase>Παράδειγμα εμφάνισης αλλαγών σε τιμή παρακαταθήκης χρησιμοποιώντας και χρώμα και βέλη</phrase> </textobject></mediaobject>
</entry>
<entry>Αυτή η προβολή ενισχύει την κωδικοποίηση χρωμάτων με βέλη για την προβολή της κίνησης της τιμής, και χρησιμοποιεί πιο σκοτεινές σκιές του πράσινου και του κόκκινου χρώματος σε ένα παρασκήνιο πιο ανοικτού χρώματος για να παρέχει έτσι υψηλότερη αντίθεση. Αυτό δεν χρειάζεται να είναι το προεπιλεγμένο σχήμα χρωμάτων αν ο έλεγχος ήταν η εμφάνισή του να είναι πιο διασπαστική για την πλειοψηφία χρηστών, αλλά θα πρέπει να είναι δυνατή η προσαρμογή της με αυτόν τον τρόπο είτε αλλάζοντας θέμα είτε μέσω του διαλόγου <guilabel>Προτιμήσεις</guilabel> της εφαρμογής.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</example>
</section>
</section>
<section>
<title>Μεγέθυνση</title>
<para>Πολλοί χρήστες, ακόμη κι εκείνοι που δεν έχουν προβλήματα όρασης, ωφελούνται από αυτή τη μεγέθυνση του κειμένου και των γραφικών. Παρόλα αυτά, χωρίς μεγέθυνση, ένας χρήστης με προβλήματα όρασγης ενδεχομένως να μην μπορεί να έχει πρόσβαση και να χρησιμοποιήσει καθόλου το πρόγραμμα.</para>
<itemizedlist>
<listitem>
<para>Παρέχετε στο χρήστη τη δυνατότητα μέγεθυνσης της περιοχής εργασίας.</para>
</listitem>
<listitem>
<para>Παρέχετε επιλογές στην εφαρμογή για κλιμάκωση της περιοχής εργασίας. Οι χρήστες πρέπει να έχουν μία επιλογή για μεγέθυνση της περιοχής εργασίας από 150% μέχρι 400% ή περισσότερο. Δοκιμάστε την εφαρμογή για να επιβεβαιώσετε ότι το αντικείμενο που προβάλετε δεν επηρεάζεται από την αλλαγή των ρυθμίσεων μεγέθυνσης.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Ήχος</title>
<para>Τα άτομα που έχουν προβλήματα ακοής, όπως επίσης κι εκείνα που εργάζονται με κλειστό τον ήχο στον υπολογιστή, θα βρεθούν σε μειονεκτική θέση αν η εφαρμογή σας στηρίζεται στον ήχο για τη μεταφορά πληροφοριών. Γενικά, βεβαιωθείτε ότι ο χρήστης μπορεί να έχει οποιεσδήποτε ηχητικές πληροφορίες που θα μεταφέρονται με άλλους τρόπους.</para>
<itemizedlist>
<listitem>
<para>Μην θεωρήσετε ότι ένας χρήστης θα ακούσει σίγουρα τις πληροφορίες ήχου. Αυτό συμβαίνει σε χρήστες που έχουν προβλήματα με την καρτα ήχου τους όπως επίσης και σε χρήστες με προβλήματα όρασης!</para>
</listitem>
<listitem>
<para>Μην χρησιμοποιείτε ήχο ως το μόνο μέσο μεταφοράς πληροφοριών. Δώστε στο χρήστη την επιλογή να έχει όλες τις πληροφορίες ήχου που παρέχονται με οπτικό τρόπο επίσης. Αυτό περιλαμβάνει την παροχή κλεισμένων λεζάντων ή μεταγραφών για οποιαδήποτε σημαντικά ομιλούντα ηχητικά αποσπάσματα βίντεο.</para>
</listitem>
<listitem>
<para>Επιτρέψτε στους χρήστες να ρυθμίζουν τη συχνότητα και την ένταση όλων των μπιπ ειδοποιήσεων και άλλων ήχων. Αυτό περιλαμβάνει τη δυνατότητα απενεργοποίησης όλων των ήχων μαζί.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Κινούμενες εικόνες</title>
<para>Αν χρησιμοποιούνται με φειδώ, τα εφέ κίνησης μπορούν να είναι χρήσιμα για προσθήκη μεγαλύτερης σημασίας σε σημαντικές πληροφορίες στην εφαρμογή σας - και μπορούν να είναι καλαίσθητα, επίσης. Παρόλα αυτά, μπορούν να είναι προβληματικά για μερικούς χρήστες, έτσι βεβαιωθείτε ότι μπορούν να απενεργοποιούνται.</para>
<itemizedlist>
<listitem>
<para>Μην χρησιμοποιείτε αντικείμενα που αναβοσβηνουν με κάποια συχνότητα μεγαλύτερη από 2 Hz ή μικρότερη από 55 Hz. Αυτό περιλαμβάνει κείμενο όπως επίσης γραφικά αντικείμενα. Οτιδήποτε σε αυτό το εύρος συχνοτήτων ενδεχομένως να προκαλέσει ιδιαίτερα προβλήματα για χρληστης ευπαθείς σε καταλήψεις που προκαλούνται από την όραση. Σημειώστε ότι δεν υπάρχει "ασφαλής" συχνότητα, παρόλα αυτά. Αν πρέπει να αναβοσβήνουν, θα πρέπει να χρησιμοποιήσετε τη συχνότητα του δείκτη του συστήματος (η οποία θα πρέπει να είναι προσαρμόσιμη), ή να επιτρέπετε στους χρήστες να ρυθμίζουν τη συχνότητα μόνοι τους.</para>
</listitem>
<listitem>
<para>Μην χρησιμοποιείτε αναλαμπές σε μεγάλες περιοχές της οθόνης. Οι μικρές περιοχές είναι λιγότερο πιθανές για πρόκληση καταλήψεων στους ευπαθείς χρήστες.</para>
</listitem>
<listitem>
<para>Κάντε προαιρετικά όλα τα εφέ κίνησης. Οι πληροφορίες των οπτικών εφέ θα πρέπει να είναι διαθέσιμες σε τουλάχιστον μία μορφοποίηση χωρίς εφέ κίνησης, όταν το ζητήσει ο χρήστης.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Εστίαση πληκτολογίου</title>
<para>Είναι σημαντικό να εμφανίζεται η θέση της εστίασης πληκτρολογίου όλες τις φορές, και για χρήστες με προβλήματα όρασης όπως επίσης και με πιο "ενεργούς χρήστες" που προτιμούν να χρησιμοποιήσουν το πληκτρολόγιο αντί για το ποντίκι. Δεν πρέπει να υπάρχει σύγχυση όσον αφορά τον έλεγχο στην επιφάνεια εργασίας που θα έχει εστίαση σε οποιοδήποτε χρόνο. Θα πρέπει να μπορεί να αφήνετε τον υπολογιστή σας με την εστίαση σε οποιοδήποτε γραφικό συστατικό στην εφαρμογή σας, ύστερα να βγαίνετε έξω και να μιλάτε στο τηλέφωνο με τη φιλενάδα σας ή να βγάλετε περίπατο το σκύλο σας μέχρι να ξεχάσετε ποιο γραφικό συστατικό έχετε αφήσει ενεργοποιημένο. Όταν επιστρέψετε, θα πρέπει να μπορείτε να διακρίνετε άμεσα ακριβώς ποιο γραφικό συστατικό ήταν αυτό.</para>
<para>Μία ένδειξη οπτικής εστίασης είναι μία παρουσίαση με ήχο της θέσης του δρομέα που είναι σχετικό με άλλα αντικείμενα στην επιφάνεια εργασίας. Αυτό επιτρέπει στο χρήστη να μετακινείται ανάμεσα στα αντικείμενα αλληλεπιδραστικά όπως οι αλλαγές εστίασης. Η οπτική εστίαση πρέπει να εκτίθεται με προγραμματισμό στις τεχνολογίες υποβοήθιησης. Σημειώστε ότι στις περισσότερες περιπτώσεις, αυτό μπορεί να προσαρμοστεί αυτόματα από το ATK, χωρίς να απαιτείται οποιαδήποτε επιπρόσθετη εργασία. Παρόλα αυτά, θα πρέπει να γνωρίζετε αυτήν την απαίτηση κατά την σύνθεση των δικών σας προσαρμοσμένων γραφικών συστατικών, για παράδειγμα.</para>
<itemizedlist>
<listitem>
<para>Εκκινήστε την εστίαση στον πιο συχνά χρησιμοποιημένο έλεγχο. Αν κανένας έλεγχος σε ένα παράθυρο δεν έχει οριστεί σαν το "πιο" χρήσιμο, εκκινήστε την εστίαση στον πρώτο έλεγχο στο παράθυρο όταν εκείνο το παράθυρο ανοίγεται. Η εστίαση δεν θα πρέπει να εκκινείται στα κουμπιά <guilabel>Εντάξει</guilabel> ή <guilabel>Ακύρωση</guilabel> ενός διαλόγου ακόμη κι αν αυτοί είναι οι πιο συχνοί χρησιμοποιημένοι έλεγχοι, επειδή αυτά μπορούν πάντα να ενεργοποιούνται πιέζονται το πλήκτρο <keycap>Enter</keycap> ή το <keycap>Escape</keycap>.</para>
</listitem>
<listitem>
<para>Εμφανίστε την τρέχουσα εστίαση εισόδου ξεκάθαρα όλες τις φορές. Θυμηθείτε ότι σε λεέγχους που περιλαμβάνουν ένα στοιχείο με κύλιση, δεν είναι πάντα επαρκής η επισήμανση απλά του επιλεγμένου αντικειμένου μέσα στην περιοχή κύλισης, επειδή ενδεχομένως να μην είναι ορατό. Δείτε τα <link linkend="gad-focus-examples">Παραδείγματα εστίασης πληκτρολογίου</link>.</para>
</listitem>
<listitem>
<para>Εμφανίστε την εστίαση εισόδου μόνο στο ενεργό παράθυρο. Αποκρύψτε όλες τις ενδείξης της πρωτεύουσας οπτικής εστίασης σε όλα τα παράθυρα που δεν έχουν εστίαση και ενεργοποίηση. Αν ένα απλό παράθυρο έχει ξεχαριστά πλαίσια, μόνο ένα πλαίσιο θα έχει την ένδειξη εστίασης, και οι ενδείξεις εστίασης θα αποκρύπτονται σε όλα τα άλλα πλαίσια. Αν είναι σημαντικό να συνεχίσετε την προβολή του στοιχείου που επιλέχθηκε σε μία λίστα χωρίς εστίαση, για παράδειγμα, χρησιμοποιήστε μία δευτερεύουσα ένδειξη εστίασης. Δείτε τα <link linkend="gad-focus-examples">Παραδείγματα εστίασης πληκτρολογίου</link>.</para>
</listitem>
<listitem>
<para>Παρέχετε κατάλληλη ανάδραση όταν ο χρήστης προσπαθεί να πλοηγηθεί μέχρι το τέλος μία ομάδας σχετικών αντικειμένων. Κατά την πλοήγηση σε μία λίστα, για παράδειγμα, η διακοπή με ανάδραση ήχου είναι συνήθς προτιμητές για τη μετακίνηση της εστίασης πίσω στο πρώτο αντικείμενο στη λίστα. Ειδάλλως, οι χρήστες που είναι τυφλοί ή έχουν χαμηλό επίπεδο όρασης ίσως δεν αναγνωρίσουν ότι έχουν επιστρέψει στην αρχή. Στην περίπτωση μίας αναζήτησης κειμένου σε ένα έγγραφο, ενδεχομένως αναδυθεί ένας διάλογος που θα δείχνει ότι το τέλος του εγγράφου έχει φτάσει, και θα σας ρωτάει αν επιθυμείτε η αναζήτηση να επιστρέψει στην αρχή του εγγράφου.</para>
</listitem>
<listitem>
<para>Αναπαράγετε τον προεπιλεγμένο ήχο ή το σήμα προειδοποίησης του συστήματος όταν ο χρήστης πιέζει ένα μη κατάλληλο πλήκτρο, ή όταν ένα πλήκτρο πλοήγησης αποτυγχάνει να μετακινήσει την εστίαση. Για παράδειγμα, όταν η εστίαση είναι στον πρώτο χαρακτήρα σε ένα πεδίο κειμένου και ο χρήστης πιέζει το πλήκτρο του αριστερού βέλους, ή προσπαθεί να κάνει μία πολλαπλή επιλογή σε ένα διάλογο επιλογής. (Σημειώστε ότι χρήστες με προβλήματα ακοής θα πρέπει να μπορούν να προσαρμόσου. ένα ισοδύναμο οπτικά με το σύστημα σε σχέση με τον ήχο προειδοποίησης.)</para>
</listitem>
</itemizedlist>
<section id="gad-focus-examples">
<title>Παραδείγματα εστίασης πληκτρολογίου</title>
<example><title>Παράδειγμα αποτύπωσης της ανάγκης για εμφάνιση καθαρής εστίασης</title>
<informaltable frame="all">
<tgroup cols="2">
<tbody>
<row>
<entry valign="middle">
<mediaobject><imageobject> <imagedata fileref="figures/badfocus1.png" format="PNG"/> </imageobject> <textobject> <phrase>Το εστιασμένο στοιχείο σε αυτό το παράθυρο δεν μπορεί να ιδωθεί, επειδή έχει κυλίσει εκτός οθόνης</phrase> </textobject></mediaobject>
</entry>
<entry>Ένας από τους ελέγχους σε αυτό το παράθυρο έχει εστιαστεί, αλλά είναι αδύνατο να διακρίνουμε ποιος...</entry>
</row>
<row>
<entry valign="middle">
<mediaobject><imageobject> <imagedata fileref="figures/badfocus2.png" format="PNG"/> </imageobject> <textobject> <phrase>Το εστιασμένο στοιχείο στη λίστα προβλήθηκε κυλώντας τη λίστα</phrase> </textobject></mediaobject>
</entry>
<entry>…μέχρι να κυλίσετε τη λίστα, το οποίο αποκαλύπτει ότι ένα από τα στοιχεία είναι επιλεγμένο.</entry>
</row>
<row>
<entry valign="middle">
<mediaobject><imageobject> <imagedata fileref="figures/goodfocus.png" format="PNG"/> </imageobject> <textobject> <phrase>Ο έλεγχος της λίστας σε αυτό το παράδειγμα έχει ένα συμπαγές περίγραμμα που αναδεικνύει την εστίαση, όταν το επιλεγμένο του αντικείμενο είναι ορατό ή όχι</phrase> </textobject></mediaobject>
</entry>
<entry>Αν ο έλεγχος λίστας δίνεται ως ένα "εστιασμένο" περίγραμμα, είναι εύκολο να συμπεράνουμε ότι έχει εστίαση ακόμη κι όταν το επιλεγμένο στοιχείο δεν είναι ορατό.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</example>
<example>
<title>Παράδειγμα αποτύπωσης της χρήσης δευτερεύουσας εστίασης</title>
<informaltable frame="all">
<tgroup cols="2">
<tbody>
<row>
<entry valign="middle">
<mediaobject><imageobject> <imagedata fileref="figures/badfocus3.png" format="PNG"/> </imageobject> <textobject> <phrase>Το παράθυρο με διαιρεμένα πλαίσια στο οποίο και τα δύο πλαίσια φαίνεται να έχουν εστίαση</phrase> </textobject></mediaobject>
</entry>
<entry>Στο παράδειγμα αυτό, είναι αδύνατο να βγάλουμε συμπέρσμα απλά κοιτώντας ποιο από τα δύο πλαίσια έχει πραγματικά εστίαση πληκτρολογίου.</entry>
</row>
<row>
<entry valign="middle">
<mediaobject><imageobject> <imagedata fileref="figures/goodfocus3.png" format="PNG"/> </imageobject> <textobject> <phrase>Το παράθυρο με διαιρεμένα πλαίσια στο οποίο χρησιμοποιείται δευτερεύουσα επισήμανση για να εμφανίσει ποιο πλαίσιο έχει εστίαση</phrase> </textobject></mediaobject>
</entry>
<entry>Χρησιμοποιώντας ένα χρώμα δευτερεύουσας επισήμανσης της επιλογής στο μη ενεργό πλαίσιο, είναι άμεσα φανερό ότι ο έλεγχος του δέντρου έχει εστίαση εδώ...</entry>
</row>
<row>
<entry valign="middle">
<mediaobject><imageobject> <imagedata fileref="figures/goodfocus2.png" format="PNG"/> </imageobject> <textobject> <phrase>Το παράθυρο με διαιρεμένα πλαίσια στο οποίο χρησιμοποιείται δευτερεύουσα επισήμανση για να εμφανίσει ποιο πλαίσιο έχει εστίαση</phrase> </textobject></mediaobject>
</entry>
<entry>...και ότι ο έλεγχος λίστας έχει εστίαση εδώ.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</example>
</section>
</section>
<section>
<title>Συγχρονισμός</title>
<para>Διεπαφές στις οποίες εμφανίζονται όλα τα πράγμτα, εξαφανίζονται ή συμβαίνουν σύμφωνα με κάποιο όριο χρόνου με σταθερή κωδικοποίηση, αποτελούν συχνά ένα εμπόδιο στην προσιτότητα. Μερικοί χρήστες ενδεχομένως κάνουν ανάγνωση, πληκτρολογούν ή αντιδρούν πολύ αργά σε σύγκριση με άλλους. Αν οι πληροφορίες που απαιτούν αποκρύπτονται πριν οι χρήστες προλάβουν να τιςδουν, ή επικαλύπτονται από άλλες πληροφορίες που αναδύονται οι οποίες δεν ζητήθηκαν ρητά, τότε η εφαρμογή σας θα γίνει πολύ απογοητευτική ή ακόμη και αδύνατη σε χρήση.</para>
<itemizedlist>
<listitem>
<para>Μην κωδικοποιείτε σταθερά διακοπές ή άλλες λειτουργίες που βασίζονται στο χρόνο. Τα παραδείγματα περιλαμβάνουν αυτόματη κύλιση κατά τη μεταφορά ενός αντικειμένου προς την άκρη του πραθύρου, ενώ κρατάτε πατημένο το κουμπί κύλισης, ή επεκτείνετε αυτόματα έναν κόμβο δένδρου όταν ένα αντικείμενο μεταφέρεται πάνω του και στέκεται εκεί για ένα μικρό διάστημα χρόνου. Αυτά θα πρέπει είτε να είναι προσαρμόσιμα στην εφαρμογή, το κέντρου ελέγχου του GNOME, ή στη χειρότερη περίπτωση, να μπορεί να επεξεργαστεί χειροκίνητα από τη γραμμή εντολών μέσω ενός αρχείου ρυθμίσεων ή μίας εισόδου GConf.</para>
</listitem>
<listitem>
<para>Μην εμφανίζετε με σύντομο τρόπο αποκρύπτετε πληροφορίες που βασίζονται στην κίνηση του δείκτη του ποντικιού (Εξαίρεση: λειτουργίες που παρέχονται από το σύστημα όπως οι συμβουλές, τις οποίες ο χρήστης μπορεί να ρυθμίσει σε ένα ευρύ επίπεδο συστήματος). Αν πρέπει να παράχετε τέτοιες λειτουργίες, να τις έχετε προαιρετικές έτσι ώστε οι χρήστες να μπορούν να της απενεργοποιούν όταν είναι εγκατεστημένη μία λειτουργία προεπισκόπησης οθόνης.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Τεκμηρίωση</title>
<para>Τα άτομα με ανικανότητες δεν μπορούν να χρησιμοποιήσουν αποτελεσματικά την εφαρμογή αν δεν έχουν πρόσβαση στα απαιτούμενα αρχεία εγχειριδίων και βοήθειας. Ιδιαίτερης σημασίας είναι η πλοήγηση μέσω πληκτρολογίου, επειδή είναι ο μόνος τρόπος με τον οποίο πολλοί χρήστες πλοηγούνται στην εφαρμογή.</para>
<itemizedlist>
<listitem>
<para>Παρέχετε όλη την τεκμηρίωση σε μία προσιτή μορφή. Οι μορφοποιήσεις σε κείμενο ASCII και HTML είναι εξαιρετικές για τεχνολογίες υποβοήθησης.</para>
</listitem>
<listitem>
<para>Παρέχετε εναλλακτικές περιγραφές κειμένου για όλα τα γραφικά στοιχεία στην τεκμηρίωση.</para>
</listitem>
<listitem>
<para>Τεκμηριώστε όλες τις λειτουργίες προσιτότητας της εφαρμογής σας. Η πλοήγηση μέσω πληκτρολογίου και οι συντομεύσεις είναι ιδιαίτερα σημαντικά για την τεκμηρίωση. Συμπεριλάβετε μία ενότητα προσιτότητας στην τεκμηρίωσή σας, όπου μπορούν να βρεθούν πληροφορίες για όλες τις λειτουργίες προσιτότητας.</para>
</listitem>
</itemizedlist>
</section>
</section>
</chapter>
<chapter id="gtest" status="draft">
<title>Δοκιμές</title>
<para>Υπάρχουν αρκετά σημεία επιθεώρησης, πριν δηλώσετε ότι μία εφαρμογή είναι προσιτή. Κατά τη διάρκεια της ανάπτυξης μπορεί να θελήσετε να σκεφτείτε αυτόματες τεχνικές δοκιμών. Το <ulink url="http://ldtp.freedesktop.org/">LDTP</ulink>, για παράδειγμα, ενδεχομένως να συμπληρώσει το αυτοματοποιημένο σχέδιο δοκιμών σας.</para>
<para>Η ενότητα αυτή περιγράφει ένα αριθμό ελέγχων που μπορείτε να εφαρμόσετε χειροκίνητα σε μία εφαρμογή για να ελέγξτε την προσιτότητά της. Επιτυγχάνοντας σε όλους τους ελέγχους δε σημαίνει απαραίτητα ότι η εφαρμογή είναι πλήρως προσιτή, αλλά αν η εφαρμογή αποτύχει σε όλους αυτούς τους ελέγχος, τότε χρειάζεται περισσότερη δουλειά ώστε να βελτιωθεί το θέμα της προσιτότητας.</para>
<section>
<title>Πλοήγηση μέσω πληκτρολογίου</title>
<para>Οι ακόλουθες λειτουργίες πληκτρολογίου θα πρέπει να ελεγχθούν. Μην χρησιμοποιήσετε το ποντίκι σε κανένα τμήμα αυτού του ελέγχου.</para>
<itemizedlist>
<listitem>
<para>Χρησιμοποιώντας μόνο εντολές πληκτρολογίου, μεταινήστε την εστίαση διαμέσουν όλων των γραμμών του μενού στην εφαρμογή.</para>
</listitem>
<listitem>
<para>Επιβεβαιώστε ότι:</para>
<itemizedlist>
<listitem>
<para>Εμφανίζονται σωστά τα ευαίσθητα μενού περιεχομένων.</para>
</listitem>
<listitem>
<para>Μπορούν να εφαρμοστούν οποιεσδήποτε συναρτήσεις που υπάρχουν στην εργαλειοθήκη χρησιμοποιώντας το πληκτρολόγιο.</para>
</listitem>
<listitem>
<para>Μπορείτε να χρησιμοποιήσετε κάθε στοιχείο ελέγχου στην περιοχή πελάτη της εφαρμογής και των πεδίων διαλόγου.</para>
</listitem>
<listitem>
<para>Μπορούν να επιλεγούν κείμενο και αντικείμενα μέσα στην περιοχή του πελάτη.</para>
</listitem>
<listitem>
<para>Όλες οι λειτουργίες ή οι συντομεύσεις πληκτρολογίου δουλεύουν όπως σχεδιάστηκαν.</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</section>
<section>
<title>Γραφικά στοιχεία</title>
<para>Δοκιμάστε την εφαρμογή χρησιμοποιώντας έναν αναγνώστη οθόνης και επιβεβαιώστε ότι:</para>
<itemizedlist>
<listitem>
<para>Οι ετικέτες και το κείμενο φορτώνονται ορθά, καθώς επίσης τα μενού και οι εργαλειοθήκες.</para>
</listitem>
<listitem>
<para>Οι πληροφορίες αντικειμένων φορτώνονται σωστά.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Ένδειξη οπτικής εστίασης</title>
<itemizedlist>
<listitem>
<para>Επιβεβαιώστε ότι η ένδειξη οπτικής εστίασης είναι εύκολο να αναγνωριστεί όταν γίνεται κίνηση μεταξύ αντικειμένων.</para>
</listitem>
<listitem>
<para>Η πλοήγηση πληκτρολογίου μέσω του λογισμικού και των μενού θα πρέπει να είναι φανερά ορατή όταν η εστίασης μετακινείται.</para>
</listitem>
<listitem>
<para>Επιβεβαιώστε ότι ο αναγνώστης οθόνης ανιχνεύει την ένδειξη της οπτικής εστίασης ενώ κάνετε πλοήγηση χρησιμοποιώντας το πληκτρολόγιο.</para>
</listitem>
<listitem>
<para>Εκτελέστε ένα πρόγραμμα μεγέθυνσης οθόνης (αν είναι διαθέσιμο) και επιβεβαιώστε ότι η μεγέθυνση μπορεί να ανιχνεύσει την ένδειξη οπτικής εστίασης ενώ κάνετε πλοήγηση χρησιμοποιώντας το πληκτρολόγιο και το ποντίκι.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Γραμματοσειρές και κείμενο</title>
<itemizedlist>
<listitem>
<para>Αλλάξτε τη γραμματοσειρά στην εφαρμογή και επιβεβαιώστε ότι οι ρυθμίσεις παραμένουν.</para>
</listitem>
<listitem>
<para>Δοκιμάστε την εφαρμογή μεταβάλλοντας τα χρώματα και επιβεβαιώστε ότι όλες οι ρυθμίσεις παραμένουν.</para>
</listitem>
<listitem>
<para>Αν είναι διαθέσιμη η μεγέθυνση, ελέγξτε τη γραμματοσειρά, το χρώμα και το μέγεθος χρησιμοποιώντας την επιλογή μεγέθυνσης.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Χρώματα και αντίθεση</title>
<itemizedlist>
<listitem>
<para>Εκτυπώστε στιγμιότυπα οθόνης σε ασπρόμαυρο εκτυπωτή και επιβεβαιώστε ότι όλες οι πληροφορίες είναι ορατές.</para>
</listitem>
<listitem>
<para>Δοκιμάστε εφαρμογές χρησιμοποιώντας ασπρόμαυρες ρυθμίσεις ή ρυθμίσεις υψηλής αντίθεσης και επιβεβαιώστε ότι όλες οι πληροφορίες μεταφέρθηκαν σωστά.</para>
</listitem>
<listitem>
<para>Ελέγξτε ότι η εφαρμογή παρέχει τουλάχιστον τρεις συνδυασμούς από σχήματα χρωμάτων και ότι είναι διαθέσιμα τα σχήματα υψηλής αντίθεσης. (π.χ. το ασπρόμαυρο ή το κίτρινο σε μπλε).</para>
</listitem>
<listitem>
<para>Ενεργοποιήστε τις ρυθμίσεις υψηλής αντίθεσης στο κέντρο ελέγχου του GNONE και επιβεβαιώστε ότι η εφαρμογή διατηρεί τις ρυθμίσεις αυτές.</para>
</listitem>
<listitem>
<para>Δοκιμάστε διάφορα θέματα για να βεβαιωθείτε ότι το λογισμικό δουλεύει σωστά για όλες τις διαθέσιμες ρυθμίσεις.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Ήχος</title>
<para>Θα πρέπει να υπάρχει μία επιλογή στην εφαρμογή για την εμφάνιση προειδοποιήσεων ήχου με γραφικό τρόπο.</para>
<para>Δοκιμάστε τον ήχο αν δουλεύει σωστά ενεργχοποιώντας τον ήχο στο Κέντρο ελέγχου του GNOME και ύστερα εκτελέστε τις ακόλουθες ενέργειες:</para>
<itemizedlist>
<listitem>
<para>Εκτελέστε μία ενέργεια που θα είχε σαν αποτέλεσμα μία ειδοποίηση ήχου και επιβεβαιώστε ότι η εφαρμογή δουλεύει με τον τρόπο που σχεδιάστηκε.</para>
</listitem>
<listitem>
<para>Επιβεβαιώστε ότι η εφαρμογή δουλεύει σωστά κατά την αύξηση ή τη μείωση της έντασης.</para>
</listitem>
<listitem>
<para>Επιβεβαιώστε ότι τα μηνύματα προειδοποίησης και οι ειδοποιήσεις μπορούν να ακούγονται σωστά σε ένα θορυβώδες περιβάλλον χρήσης.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Κινούμενες εικόνες</title>
<para>Επιβεβαιώστε ότι είναι διαθέσιμη μία επιλογή για τη διακοπή των εφέ κίνησης και ότι δουλεύει όπως έχει σχεδιαστεί.</para>
<para>Απενεργοποιήστε τα εφέ κίνησης. Επιβεβαιώστε ότι όλες οι πληροφορίες μεταφέρονται σωστά.</para>
</section>
<section>
<title>Εστίαση πληκτολογίου</title>
<itemizedlist>
<listitem>
<para>Ελέγξτε όλα τα μηνύματα και επιβεβαιώστε ότι ο χρήστης προειδοποιείται πριν ένα μήνυμα υπερβαίνει το επιτρεπόμενο χρόνο και ότι δίνεται η επιλογή ένδειξης ότι είναι απαραίτητος περισσότερος χρόνος.</para>
</listitem>
<listitem>
<para>Επιβεβαιώστε ότι μία επιλογή έχει συμπεριληφθεί για την προσαρμογή του χρόνου απόκρισης και επιβεβαιώστε ότι δουλεύει όπως έχει σχεδιαστεί.</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Τεκμηρίωση</title>
<para>Δοκιμάστε την τεκμηρίωση κειμένου ASCII με έναν αναγνώστη οθόνης για να επιβεβαιώσετε ότι είναι ευκρινές και ακριβές και μπορεί να φορτωθεί σε τεχνολογίες υποβοήθησης.</para>
<para>Δοκιμάστε εφαρμογές HTML χρησιμοποιώντας έναν περιηγητή διαδικτύου και τον αναγνώστη οθόνης για να επιβεβαιώσετε ότι η τεκμηρίωση είναι προσιτή σε τεχνολογίες υποβοήθησης.</para>
<para>Σημείωση: Υπάρχουν οδηγίες προσιτότητας στο διαδίκτυο, στην ιστοσελίδα <ulink url="http://www.w3.org/TR/WAI-WEBCONTENT/">http://www.w3.org/TR/WAI-WEBCONTENT/</ulink>.</para>
<para>Επιβεβαιώστε ότι οι ακόλουθες πληροφορίες περιλαμβάνονται στην τεκμηρίωση:</para>
<itemizedlist>
<listitem>
<para>Δηλώστε αν η εφαρμογή δεν υποστηρίζει την τυπική πρόσβαση μέσω πληκτρολογίου που χρησιμοποιείται από το λειτουργικό σύστημα.</para>
</listitem>
<listitem>
<para>Αναγνωρίστε αν υπάρχουν μοναδικές εντολές πληκτρολογίου.</para>
</listitem>
<listitem>
<para>Αναγνωρίστε οποιεσδήποτε μοναδικές λειτουργίες προσιτότητας.</para>
</listitem>
<listitem>
<para>Αν μία ενέργεια τεκμηριώνεται για το ποντίκι, βεβαιωθείτε ότι υπάρχει μία εναλλακτική ενέργεια χρησιμοποιώντας το πληκτρολόγιο.</para>
</listitem>
</itemizedlist>
</section>
<section id="gad-checklist">
<title>Λίστα ελέγχου με το γραφικό περιβάλλον χρήστη</title>
<para>Η ενότητα αυτή συνοψίζει τις οδηγίες που δόθηκαν στις <link linkend="gad-ui-guidelines">Οδηγίες γραφικού περιβάλλοντος χρήστη για την υποστήριξη της προσιτότητας</link>. Θα πρέπει να παραπεμφθείτε στην ενότητα αυτή του οδηγού για περισσότερες λεπτομερειακές πληροφορίες για κάθε στοιχείο της λίστας ελέγχου που δόθηκε εδώ.</para>
<para>Κατά τη δοκιμή προσιτότητας για μία εφαρμογής, θα πρέπει να μεταβείτε μέσα σε όλα τα στοιχεία της λίστας. Σημειώστε αν η εφαρμογή επιτυγχάνει ή αποτυγχάνει σε κάθε δοκιμή, ή αν η δοκιμή δεν εφαρμόζεται στην εφαρμογή.</para>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου με τις γενικές αρχές</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΓΑ</entry>
<entry>Γενικές αρχές</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row>
<entry>ΓΑ.1</entry>
<entry>Μπορεί να αναιρεθεί κάθε ενέργεια που μεταβάλλει τα δεδομένα του χρήστη ή τις ρυθμίσεις της εφαρμογής.</entry>
</row>
<row>
<entry>ΓΑ.2</entry>
<entry>Όλες οι ρυθμίσεις της εφαρμογής μπορούν να αποθηκευτούν ξανά με τις προεπιλεγμένες επιλογές χωρίς ο χρήστης να πρέπει να τις απομνημονεύσει.</entry>
</row>
<row>
<entry>ΓΑ.3</entry>
<entry>Ύστερα από την εγκατάσταση, η εφαρμογή μπορεί να χρησιμοποιηθεί χωρίς ο χρήστης να πρέπει να εισάγει κάποιο δίσκο ή άλλο αποθηκευτικό μέσο.</entry>
</row>
<row><entry>ΓΑ.4</entry>
<entry>Οι συναρτήσεις που χρησιμοποιούνται πιο συχνά βρίσκονται στο ανώτερο επίπεδο της δομής του μενού.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου με την πλοήγηση πληκτρολογίου</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΠΠ</entry>
<entry>Πλοήγηση μέσω πληκτρολογίου</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row>
<entry>ΠΠ.1</entry>
<entry>Παρέχεται αποκλειστική πρόσβαση μέσω του πληκτρολογίου σε όλες τις λειτουργίες τις εφαρμογής.</entry>
</row>
<row>
<entry>ΠΠ.2</entry>
<entry>Όλα τα παράθυρα έχουν μία λογική σειρά πλοήγησης μέσω του πληκτρολογίου.</entry>
</row>
<row><entry>ΠΠ.3</entry>
<entry>Η ορθή σειρά καρτελών χρησιμοποιείται για ελέγχους που η ενεργοποιημένη τους κατάστασης εξαρτάται από τα πεδία επιλογών, τα κουμπιά συχνοτήτων ή τα κουμπιά εναλλαγής.</entry>
</row>
<row><entry>ΠΠ.4</entry>
<entry>Η πρόσβαση μέσω του πληκτρολογίου σε ειδικές συναρτήσεις τις εφαρμογής δεν παρακάμπτει τις υπάρχοντες λειτουργίες προσιτότητας του συστήματος.</entry>
</row>
<row><entry>ΠΠ.5</entry>
<entry>Η εφαρμογή παρέχει περισσότερες από μία μεθόδους για την εκτέλεση εργασιών μέσω του πληκτρολογίου οποτεδήποτε αυτό είναι δυνατό.</entry>
</row>
<row><entry>ΠΠ.6</entry>
<entry>Υπάρχουν εναλλακτικοί συνδυασμοί πλήκτρων όπου αυτό είναι δυνατό.</entry>
</row>
<row><entry>ΠΠ.7</entry>
<entry>Δεν υπάρχουν αδέξιες προσβάσεις για λειτουργίες του πληκτρολογίου που εκτελούνται συχνά.</entry>
</row>
<row><entry>ΠΠ.8</entry>
<entry>Η εφαρμογή δεν κάνει επαναλαμβανόμενη, ταυτόχρονη χρήση των πλήκτρων.</entry>
</row>
<row><entry>ΠΠ.9</entry>
<entry>Η εφαρμογή παρέχει ισοδύναμες ενέργειες μέσω του πληκτρολογίου για όλες τις λειτουργίες που εκτελούνται με το ποντίκι.</entry>
</row>
<row><entry>ΠΠ.10</entry>
<entry>Οποιοδήποτε κείμενο ή αντικείμενο, που μπορεί να επιλεγεί με το ποντίκι, μπορεί επίσης να επιλεγεί και μόνο με τη χρήση του πληκτρολογίου.</entry>
</row>
<row><entry>ΠΠ.11</entry>
<entry>Κάθε αντικείμενο που μπορεί να αλλάξει μέγεθος ή να μετακινηθεί με το ποντίκι, μπορεί επίσης να το κάνει και μόνο με τη χρήση πληκτρολογίου.</entry>
</row>
<row><entry>ΠΠ.12</entry>
<entry>Η εφαρμογή δεν χρησιμοποιεί οποιεσδήποτε συναρτήσεις γενικής πλοήγησης για την εκτέλεση κάποιων λειτουργιών.</entry>
</row>
<row><entry>ΠΠ.13</entry>
<entry>Όλα τα μενού, τα παράθυρα και οι υποδείξεις που επικλήθηκαν από το πληκτρολόγιο εμφανίζονται κοντά στο αντικείμενο με το οποίο σχετίζονται.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου με την αλληλεπίδραση του ποντικιού</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΑΠ</entry>
<entry>Χρήση του ποντικιού</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row><entry>ΑΠ.1</entry>
<entry>Καμία λειτουργία δεν εξαρτάται από την είσοδο από τα κουμπιά <mousebutton>δεξί</mousebutton> ή <mousebutton>μεσαίο</mousebutton> του ποντικιού.</entry>
</row>
<row><entry>ΑΠ.2</entry>
<entry>Όλες οι λειτουργίες του ποντικιού μπορούν να ακυρωθούν πριν ολοκληρωθούν.</entry>
</row>
<row><entry>ΑΠ.3</entry>
<entry>Παρέχεται οπτική ανάδραση μέσω των λειτουργιών μεταφοράς κι απόθεσης</entry>
</row>
<row><entry>ΑΠ.4</entry>
<entry>Ο δέικτης του ποντικιού ποτέ δεν επηρεάζεται από τον έλεγχο της εφαρμογή, ή η κίνησή του περιορίζεται από την εφαρμογή σε ένα μέρος της οθόνης.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου με τα γραφικά στοιχεία</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΓΣ</entry>
<entry>Γραφικά στοιχεία</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row><entry>ΓΣ.1</entry>
<entry>Δεν υπάρχουν γραφικά στοιχεία με σταθερή κωδικοποίηση όπως στη γραμμή, στο περίγραμμα ή στο πάχος της σκιάς.</entry>
</row>
<row><entry>ΓΣ.2</entry>
<entry>Όλα τα γραφικά στοιχεία με πολλά χρώματα μπορούν να προβληθούν μόνο με ένα χρώμα, όπου αυτό είναι δυνατό.</entry>
</row>
<row><entry>ΓΣ.3</entry>
<entry>Όλα τα στοιχεία του γραφικού περιβάλλοντος που αλληλεππιδρούν διακρίνονται εύκολα σε σχέση με τα στατικά στοιχεία του.</entry>
</row>
<row><entry>ΓΣ.4</entry>
<entry>Παρέχεται μία επιλογή για την απόκρυψη των μη ουισιωδών γραφικών στοιχείων.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου με γραμματοσειρές και κείμενο</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΓΚ</entry>
<entry>Γραμματοσειρές και κείμενο</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row><entry>ΓΚ.1</entry>
<entry>Δεν κωδικοποιούνται σταθερά ούτε τύποι ούτε μεγέθη γραμματοσειρών.</entry>
</row>
<row><entry>ΓΚ.2</entry>
<entry>Παρέχεται μία επιλογή για την απενεργοποίηση των γραφικών σκηνικών πίσω από το κείμενο.</entry>
</row>
<row><entry>ΓΚ.3</entry>
<entry>Όλες οι ετικέτες έχουν ονόματα τα οποία έχουν σημασία κατά την εξαγωγή τους από το περιεχόμενο.</entry>
</row>
<row><entry>ΓΚ.4</entry>
<entry>Στο ίδιο παράθυρο δεν χρησιμοποιούνται πάνω από μία φορά τα ονόματα ετικετών.</entry>
</row>
<row><entry>ΓΚ.5</entry>
<entry>Η τοποθέτηση ειτικετών είναι συνεπής από την εφαρμογή.</entry>
</row>
<row><entry>ΓΚ.6</entry>
<entry>Όλες οι ετικέτες στατικού κειμένου που αναγνωρίζουν άλλους ελέγχους λήγουν με άνω-κάτω τελεία (:).</entry>
</row>
<row><entry>ΓΚ.7</entry>
<entry>Όλες οι ετικέτες στατικού κειμένου που αναγνωρίζουν άλλους ελέγχους προηγούνται άμεσα από τους ελέγχους αυτούς στη σειρά ταξινόμησης καρτελών.</entry>
</row>
<row><entry>ΓΚ.8</entry>
<entry>Παρέχεται κάτι εναλλακτικό όπως το WYSIWYG. Για παράδειγμα, η δυνατότητα για τον ορισμό διαφορετικών γραμματοσειρών οθόνης και εκτύπωσης σε έναν επεξεργαστή κειμένου.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου χρώματος και αντίθεσης</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΧΑ</entry>
<entry>Χρώματα και αντίθεση</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row><entry>ΧΑ.1</entry>
<entry>Τα χρώματα της εφαρμογής δεν έχουν σταθερή κωδικοποίησης, αλλά σχεδιάζονται είτε από το τρέχον θέμα της επιφάνειας εργασίας είτε από τις ρυθμίσεις της εφαρμογής.</entry>
</row>
<row><entry>ΧΑ.2</entry>
<entry>Το χρώμα χρησιμοποιείται μόνο ως απορρόφηση, και όχι σαν το μόνο μέσο για τη μεταφορά πληροφοριών και ενεργειών.</entry>
</row>
<row>
<entry>ΧΑ.3</entry>
<entry>Η ερφαρμογή υποστηρίζει όλα τα διαθέσιμα θέματα και τις ρυθμίσεις ηψηλής αντίθεσης.</entry>
</row>
<row><entry>ΧΑ.4</entry>
<entry>Το λογισμικό δεν εξαρτάται από κάποιο συγκεκριμένο θέμα ή ρυθμίσεις υψηλής αντίθεσης.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου μεγέθυνσης</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΜΓ</entry>
<entry>Μεγέθυνση</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row><entry>ΜΓ.1</entry>
<entry>Η εφαρμογή παρέχει τη δυνατότητα μεγέθυνσης της περιοχής εργασίας.</entry>
</row>
<row><entry>ΜΓ.2</entry>
<entry>Η εφαρμογή παρέχει την επιλογή κλιμάκωσης της περιοχής εργασίας.</entry>
</row>
<row><entry>ΜΓ.3</entry>
<entry>Η λειτουργικότητα της εφαρμογής δεν επηρεάζεται από τις ρυθμίσεις μεγέθυνσης και κλιμάκωσης.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου ήχου</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΗΧ</entry>
<entry>Ήχος</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row><entry>ΗΧ.1</entry>
<entry>Ο ήχος δεν χρησιμοποιείται ως το μόνο μέσο μεταφοράς στοιχείων από πληροφορίες.</entry>
</row>
<row><entry>ΗΧ.2</entry>
<entry>Ο χρήστης μπορεί να ρυθμίσει τη συχνότητα και την ένταση όλων των ήχων και των μπιπ προειδοποίησης.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου εφέ κίνησης</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΕΦ</entry>
<entry>Κινούμενες εικόνες</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row><entry>ΕΦ.1</entry>
<entry>Δεν υπάρχουν στοιχεία που αναβοσβήνουν με συχνότητα μεγαλύτερη από 2Hz και μικρότερη από 55Hz.</entry>
</row>
<row><entry>ΕΦ.2</entry>
<entry>Οτιδήποτε αναβοσβήνει περιορίζεται σε μικρές περιοχές της οθόνης.</entry>
</row>
<row><entry>ΕΦ.3</entry>
<entry>Αν χρησιμοποιούνται εφέ κίνησης, είναι διαθέσιμη μία επιλογή για την απενεργοποίηση πριν προβληθούν για πρώτη φορά.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου με την εστίασης πληκτρολογίου</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΕΠ</entry>
<entry>Εστίαση πληκτολογίου</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row><entry>ΕΠ.1</entry>
<entry>Όταν ανοίγεται ένα παράθυρο, η εστίαση ξεκινά με τον έλεγχο που χρησιμοποιήθηκε πιο συχνά.</entry>
</row>
<row><entry>ΕΠ.2</entry>
<entry>Η τρέχουσα θέση της εστίασης εισόδου προβάλλετε ολοφάνερα όλες τις φορές.</entry>
</row>
<row><entry>ΕΠ.3</entry>
<entry>Η εστίαση εισόδου εμφανίζεται σε ακριβώς ένα παράθυρο όλες τις φορές.</entry>
</row>
<row><entry>ΕΠ.4</entry>
<entry>Παρέχεται ο κατάλληλος ήχος ή οπτική ανάδραση όταν ο χρήστης προσπαθεί να πλοηγηθεί πίσω ή στο τέλος μίας ομάδας σχετικών αντικειμένων.</entry>
</row>
<row><entry>ΕΠ.5</entry>
<entry>Ο προεπιλεγμένος ήχος ή το σήμα οπτικής προειδοποίησης αναπαράγονται όταν ο χρήστης πιέζει ένα μη κατάλληλο πλήκτρο.</entry>
</row>
<row><entry>ΕΠ.6</entry>
<entry>Υπάρχουν επαρκείς πληροφορίες σχετικά με τον ήχο για την οπτική εστίαση ώστε ο χρήστης να μπορεί να κατανοήσει το επόμενο βήμα του.</entry>
</row>
<row><entry>ΕΠ.7</entry>
<entry>Κατά τη χρήση τεχνολογιών υποβοήθησης, όπως ο αναγνώστης οθόνης ή η συσκευή ανάγλυφης γραφής τυφλών, το τρέχον πρόγραμμα περιλαμβάνει τη θέση και το περιεχόμενο της ένδειξης της οπτικής εστίασης.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου συγχρονισμού</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΣΧ</entry>
<entry>Συγχρονισμός</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row><entry>ΣΧ.1</entry>
<entry>Δεν υπάρχει στην εφαρμογή διακοπές σταθερής κωδικοποίησης ή λειτουργίες βασισμένες στο χρόνο.</entry>
</row>
<row><entry>ΣΧ.2</entry>
<entry>Η προβολή ή η απόκρυψη σημαντικών πληροφοριών δεν ενεργοποιείται μόνο από την κίνηση του δείκτη του ποντικιού.</entry>
</row>
</tbody>
</tgroup>
</table>
<table frame="all" pgwide="1">
<title>Λίστα ελέγχου τεκμηρίωσης</title>
<tgroup cols="3" align="left">
<thead>
<row>
<entry>ΤΚ</entry>
<entry>Τεκμηρίωση</entry>
<entry>Επιτυχία/Αποτυχία/ΝΑ</entry>
</row>
</thead>
<tbody>
<row><entry>ΤΚ.1</entry>
<entry>Ολόκληρη η τεκμηρίωση είναι σε μία προσιτή μορφή, με αναλυτικές εναλλακτικές περιγραφές που παρέχονται για όλα τα σχήματα και τα διαγράμματα.</entry>
</row>
<row><entry>ΤΚ.2</entry>
<entry>Η τεκμηρίωση περιλαμβάνει μία ενότητα που καλύπτει όλες τις λειτουργίες προσιτότητας της εφαρμογής.</entry>
</row>
</tbody>
</tgroup>
</table>
</section>
<section>
<title>GOK (GNOME Onscreen Keyboard)</title>
<note>
<para>Οι πληροφορίες σε αυτήν τη σελίδα είναι μερικώς ξεπερασμένες: η <application><ulink url="http://wiki.gnome.org/Caribou">Caribou</ulink></application> του GNOME 3 έχει αντικαταστήσει αποτελεσματικά την <application>gok</application> του GNOME 2.</para>
</note>
<para>Η εφαρμογή σας θα πρέπει να είναι χρήσιμη μέσω του <application>gok</application>, η είσοδος πλήκτρων θα πρέπει εξολοκλήρου να δημιουργείτε από το <application>gok</application>, όχι από το πληκτρολόγιο. Ο στόχος εδώ θα ήταν η χρήση της εφαρμογής σας και η επιφάνεια εργασίας γενικά, βεβαιώνοντας ότι οποιαδήποτε είσοδος τύπου ή χαρακτήρα θα εκτελείτε με το πληκτρολόγιο της οθόνης.</para>
<para>Η εφαρμογή <application>gok</application> έρχεται μαζί με την επιφάνεια εργασίας του GNOME έτσι θα πρέπει να εκτελείται ήδη. Για να δείτε όλη την τεκμηρίωση, παραπεμφθείτε στην <ulink url="http://www.gok.ca">επίσημη σελίδα του gok</ulink>.</para>
<para>Ακολουθήστε αυτά τα βήματα για να επιβεβαιώσετε την ορθή λειτουργία του <application>gok</application> με την εφαρμογή σας:</para>
<procedure>
<step>
<para>Εκκίνηση της επιφάνειας εργασίας του GNOME</para>
</step>
<step>
<para>Εκτέλεση του <application>gok</application></para>
</step>
<step>
<para>Ξεκινήστε την εφαρμογή σας</para>
</step>
<step>
<para>Δώστε μία είσοδο στην εφαρμογή σας με μία συσκευή ένδειξης (π.χ. το ποντίκι ή ανιχνευτή επικεφαλίδας) και το <application>gok</application>.</para>
</step>
<step>
<para>Εργαστείτε χρησιμοποιώντας τις λειτουργίες αυτόματης συμπλήρωσης και πρόβλεψης λέξεων του <application>gok</application>.</para>
</step>
<step>
<para>Επιβεβαιώστε ότι το <application>gok</application> ενεργοποιεί και απενεργοποιεί τα κουμπιά <guibutton>Μενού</guibutton> και <guibutton>Εργαλειοθήκες</guibutton> που βασίζονται στο είδος της εφαρμογής που επικαλεστήκατε· για παράδειγμα, τα κουμπιά <guibutton>Μενού</guibutton> και <guibutton>Εργαλειοθήκες</guibutton> είναι επενεργοποιημένα για τη μικροεφαρμογή 'Ιδιότητες γραμματοσειράς', αλλά τα ίδια κουμπιά είναι ενεργοποιημένα για την εφαρμογή <application>Gedit</application>.</para>
</step>
<step>
<para>Επιβεβαιώστε ότι το πληκτρολόγιο οθόνης του <application>gok</application> που έχει προκύψει από το κουμπί <guibutton>Σύνθεση</guibutton> μπορεί να χρησιμοποιηθεί για την πληκτρολόγηση οποιουδήποτε κειμένου για την επιλεγμένη εφαρμογή, εκτελέστε το <application>Gedit</application>, κάντε κλικ στην περιοχή του κειμένου, και ύστερα στο κουμπί <guibutton>Σύνθεση</guibutton> στο <application>gok</application>. Επιλέξτε τα απαραίτητα πλήκτρα από το πληκτρολόγιο της οθόνης. Οι χαρακτήρες θα πρέπει να εμφανιστούν στην περιοχή κειμένου του <application>Gedit</application>.</para>
</step>
<step>
<para>Επιβεβαιώστε ότι το κουμπί <guibutton>Εκκινητής</guibutton> επιτρέπει στο χρήστη να εκκινήσει οποιαδήποτε από τις εφαρμογές <application>Τερματικό</application>, <application>Περιηγητής διαδικτύου</application> ή <application>Επεξεργαστής κειμένου</application>.</para>
</step>
<step>
<para>Επιβεβαιώστε ότι το κουμπί <guibutton>Ενεργοποίηση</guibutton> επιτρέπει στο χρήστη να ενεργοποιήσει οποιοδήποτε παράθυρο από τις τρέχουσες εφαρμογές στην επιφάνεια εργασίας του χρήστη, μαζί με τους πίνακες εφαρμογών του GNOME και την επιφάνεια εργασίας του GNOME.</para>
</step>
<step>
<para>Επιβεβαιώστε ότι το κουμπί <guibutton>Μενού</guibutton> περιέχει όλα τα διαθέσιμα μενού στην τρέχουσα εφαρμογή. Επιβεβαιώστε ότι κάνοντας κλικ σε ένα κουμπί μενού εμφανίζεται ένα υπομενού και τα στοιχεία μενού που περιέχονται μέσα σε αυτό. Τέλος, επιβεβαιώστε ότι κάνοντας κλικ σε ένα στοιχείο μενού αυτό ενεργοποιείται. Για παράδειγμα, κάντε κλικ στην εφαρμογή <application>Περιηγητής βοήθειας</application> και ύστερα στο κουμπί <guibutton>Μενού</guibutton>. Το παράθυρο του <application>GOK</application> τώρα εμφανίζει τα κουμπιά <guibutton>Αρχείο</guibutton>, <guibutton>Μετάβαση</guibutton> και <guibutton>Βοήθεια</guibutton> (τα μενού του <application>Περιηγητή βοήθειας</application> menus). Κάντε κλικ στο κουμπί <guibutton>Αρχέιο</guibutton> και θα εμφανιστούν τα κουμπιά <guibutton>Νέο παράθυρο</guibutton> και <guibutton>Κλείσιμο παραθύρου</guibutton> (στοιχεία μενού).</para>
</step>
<step>
<para>Επιβεβαιώστε ότι το κουμπί <guibutton>Εργαλειοθήκες</guibutton> περιέχει όλα τα διαθέσιμα κουμπιά στην εργαλειοθήκη της εφαρμογής. Για παράδειγμα, κάντε κλικ στην εφαρμογή <application>Περιηγητής βοήθειας</application> και ύστερα στο κουμπί <guibutton>Εργαλειοθήκες</guibutton>. Το παράθυρο του <application>GOK</application> τώρα εμφανίζει τα κουμπιά <guibutton>Πίσω</guibutton>, <guibutton>Εμπρός</guibutton> και <guibutton>Αρχή</guibutton>.</para>
</step>
<step>
<para>Επιβεβαιώστε ότι το κουμπί <guibutton>Αρπαγή παραθύρων</guibutton> εμφανίζει όλα τα αντικείμενα κουμπιών για το επιλεγμένο παράθυρο της εφαρμογής. Για παράδειγμα, ανοίξτε τη μικροεφαρμογή 'Ιδιότητες γραμματοσειράς' και κάντε κλικ στο κουμπί <guibutton>Αρπαγή παραθύρων</guibutton> στο παράθυρο της εφαρμογής <application>GOK</application>. Το παράθυρο του <application>GOK</application> θα πρέπει τώρα να εμφανίζει τα ονόματα των κουμπιών στη μικροεφαρμογή - <guibutton>Sans</guibutton>, <guibutton>Sans-serif</guibutton>, <guibutton>Κλείσιμο</guibutton> και <guibutton>Βοήθεια</guibutton>.</para>
</step>
</procedure>
</section>
<section>
<title>Accerciser</title>
<screenshot>
<mediaobject><imageobject> <imagedata fileref="figures/at-arch.png" format="PNG"/> </imageobject> <textobject> <phrase> Το Accerciser και η αρχιτεκτονική προσιτότητας του GNOME </phrase> </textobject></mediaobject>
</screenshot>
<para>Το <application>Accerciser</application> είναι ένας διαδραστικός περιηγητής προσιτότητα σε γλώσσα Python για την επιφάνεια εργασίας του GNOME. Χρησιμοποιεί το AT-SPI για να επιθεωρεί και να ελέγχει γραφικά συστατικά, επιτρέποντάς σας να ελέγχετε αν μία εφαρμογή παρέχει επαρκείς πληροφορίες σε τεχνολογίες υποβοήθησης και σε αυτοματοποιημένα πλαίσια ελέγχου. Το <application>Accerciser</application> έχει ένα απλό πλαίσιο πρόσθετων λειτουργιών το οποίο μπορείτε να χρησιμοποιήσετε για τη δημιουργία προσαρμοσμένων προβολών των πληροφοριών προσιτότητας. Η πλήρης τεκμηρίωση μπορεί να βρεθεί <ulink url="http://library.gnome.org/devel/accerciser/stable">στο Επίσημο εγχειρίδιο του Accerciser</ulink>. Για μία επίδειξη του <application>Accerciser</application> και του <application>PyATSPI</application> (πρόσαβαση και χρήση του AT-SPIπου καλύπτεται από την Python), δείτε <ulink url="http://live.gnome.org/Accessibility/PythonPoweredAccessibility">αυτό το άρθρο</ulink>. Για μία εξαιρετική εξιστόρηση από το συγγραφέα του, δείτε το άρθρο με τίτλο <ulink url="http://www.linuxjournal.com/article/9991">Make Your Application Accessible with Accerciser</ulink>.</para>
<note>
<para>Το <application>Accerciser</application> έχει αντικαταστήσει αποτελεσματικά το παλαιότερο εργαλείο <application>at-poke</application>.</para>
</note>
</section>
</chapter>
</book>
|