<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jul 9, 2013 at 6:48 AM, Željko Filipin <span dir="ltr"><<a href="mailto:zfilipin@wikimedia.org" target="_blank">zfilipin@wikimedia.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="im">On Wed, Jul 3, 2013 at 11:49 PM, Sumana Harihareswara <span dir="ltr"><<a href="mailto:sumanah@wikimedia.org" target="_blank">sumanah@wikimedia.org</a>></span> wrote:<br>
<div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="overflow:hidden">It seemed to me like it might play well with our current automated<br>



testing regime but I wanted to spread the word to this list to ask for<br>
others' opinions.</div></blockquote></div><br></div>I have recently read about something similar:</div><div class="gmail_extra"><br></div><div class="gmail_extra"><a href="http://watirmelon.com/2013/02/12/automated-local-accessibility-testing-using-wave-and-webdriver/" target="_blank">http://watirmelon.com/2013/02/12/automated-local-accessibility-testing-using-wave-and-webdriver/</a><br>


</div><div class="gmail_extra"><br></div><div class="gmail_extra">Chris, what do you think? Is that something we should do these days?</div><span class=""><font color="#888888"><div class="gmail_extra"><br></div></font></span></div>
</blockquote><div><br></div><div>I would really hesitate to go very far down this road without a mandate from the Platform team and without people available to implement changes for issues found with accessibility.  As Timo mentioned in San Francisco at the Wikilove automation training, pages on Wikipedia today do not even comply with W3C standards.<br>
</div><div><br></div><div>From doing browser automation against a wide range of existing features, I can say that accessibility from feature to feature varies widely, with no feature being particularly accessible, and many being downright awful.</div>
<div><br></div><div>Let's look at one example.  Here is a discussion of why having a :title attribute for links is far superior to having only link text available for links. <a href="http://www.jimthatcher.com/news-061607.htm">http://www.jimthatcher.com/news-061607.htm</a>  There are also implications for localization. </div>
<div><br></div><div>Below is a list of links, divs, and spans (mostly links) in our automated tests that have only link text available as an identifier: </div><div><br></div><div><div>$ grep -r 'text:' *</div><div>
features/support/modules/interlanguage_module.rb:  a(:back_to_display, text: 'Back to display settings')</div><div>features/support/modules/interlanguage_module.rb:  a(:back_to_input, text: 'Back to input settings')</div>
<div>features/support/modules/interlanguage_module.rb:  a(:english_link, text: 'English')</div><div>features/support/modules/interlanguage_module.rb:  a(:talk, text: 'Discussion')</div><div>features/support/pages/upload_page.rb:  span(:continue, text: 'Continue')</div>
<div>features/support/pages/random_page.rb:  a(:create_a_book, text: 'Create a book')</div><div>features/support/pages/random_page.rb:  a(:download_as_pdf, text: 'Download as PDF')</div><div>features/support/pages/random_page.rb:  a(:download_the_file, text: 'Download the file')</div>
<div>features/support/pages/random_page.rb:  a(:print_export, text: 'Print/export')</div><div>features/support/pages/random_page.rb:  a(:printable_version, text: 'Printable version')</div><div>features/support/pages/release_rights_page.rb:    page.next_parent_element.span_element(text: 'Next')</div>
<div>features/support/pages/describe_page.rb:    page.next_parent_element.span_element(text: 'Next')</div><div>features/support/pages/preferences_appearance_page.rb:  a(:css_link, text:'Custom CSS')</div><div>
features/support/pages/preferences_appearance_page.rb:  a(:javascript_link, text: 'Custom JavaScript')</div><div>features/support/pages/preferences_appearance_page.rb:  a(:restore_default_link, text:'Restore all default settings')</div>
<div>features/support/pages/preferences_appearance_page.rb:  button(:save_button, text: 'Save')</div><div>features/support/pages/use_page.rb:  span(:upload_more_files, text: 'Upload more files')</div><div>
features/support/pages/visual_editor_page.rb:  a(:edit_ve, text: 'Edit')</div><div>features/support/pages/visual_editor_page.rb:  span(:looks_good, class: 've-ui-labeledElement-label', text: 'Looks good to me')</div>
<div>features/support/pages/visual_editor_page.rb:  span(:return_to_save, class: 've-ui-labeledElement-label', text: 'Return to save form')</div><div>features/support/pages/visual_editor_page.rb:  span(:review_changes, class: 've-ui-labeledElement-label', text: 'Review your changes')</div>
<div>features/support/pages/visual_editor_page.rb:  span(:save_page, class: 've-ui-labeledElement-label', text: 'Save page')</div><div>features/support/pages/visual_editor_page.rb:  span(:second_save_page, class: 've-ui-labeledElement-label', text: 'Save page', index: 1)</div>
<div>features/support/pages/visual_editor_page.rb:    span(:add_parameter, text: 'Add parameter', frame: frame)</div><div>features/support/pages/visual_editor_page.rb:    span(:add_template, text: 'Add template', frame: frame)</div>
<div>features/support/pages/visual_editor_page.rb:    span(:apply_changes, text: 'Apply changes', frame: frame)</div><div>features/support/pages/visual_editor_page.rb:    span(:create_new, text:'Create new source', frame: frame)</div>
<div>features/support/pages/visual_editor_page.rb:    span(:remove_parameter, text: 'Remove parameter', frame: frame)</div><div>features/support/pages/visual_editor_page.rb:    span(:remove_template, text: 'Remove template', frame: frame)</div>
<div>features/support/pages/visual_editor_page.rb:    list_item(:template_list_item, text: 'S', frame: frame)</div><div>features/support/pages/learn_page.rb:    page.next_parent_element.span_element(text: 'Next')</div>
<div>features/support/pages/aftv5_page.rb:  a(:all_comments, text: /All comments/)</div><div>features/support/pages/aftv5_page.rb:  a(:back_to_yesno, text: 'Back to step 1')</div><div>features/support/pages/aftv5_page.rb:  span(:create_account, text: 'Create an account')</div>
<div>features/support/pages/aftv5_page.rb:  a(:edit, text: 'Edit')</div><div>features/support/pages/aftv5_page.rb:  a(:feedback_page, text: 'feedback page')</div><div>features/support/pages/aftv5_page.rb:  a(:helpful_feedback, href: '<a href="http://en.wikipedia.org/wiki/Wikipedia:Feedback_guidelines">http://en.wikipedia.org/wiki/Wikipedia:Feedback_guidelines</a>', text: 'helpful feedback')</div>
<div>features/support/pages/aftv5_page.rb:  a(:learn_more, text: /Learn more/)</div><div>features/support/pages/aftv5_page.rb:  a(:log_in, text: 'Log in')</div><div>features/support/pages/aftv5_page.rb:  a(:most_relevant, text: /Most relevant/)</div>
<div>features/support/pages/aftv5_page.rb:  span(:no, text: 'No')</div><div>features/support/pages/aftv5_page.rb:  span(:post_feedback, text: 'Post your feedback')</div><div>features/support/pages/aftv5_page.rb:  a(:terms, href: '//<a href="http://wikimediafoundation.org/wiki/Feedback_privacy_statement">wikimediafoundation.org/wiki/Feedback_privacy_statement</a>', text: 'terms')</div>
<div>features/support/pages/aftv5_page.rb:  a(:view_article, text: 'View article')</div><div>features/support/pages/aftv5_page.rb:  a(:whats_this, text: "What's this?")</div><div>features/support/pages/aftv5_page.rb:  span(:yes, text: 'Yes')</div>
<div>features/support/pages/edit_page.rb:  a(:advanced, text: 'Advanced')</div><div>features/support/pages/edit_page.rb:  a(:bold, text: 'Bold')</div><div>features/support/pages/edit_page.rb:  a(:edit, text: 'Edit')</div>
<div>features/support/pages/edit_page.rb:  a(:embedded, text: 'Embedded file')</div><div>features/support/pages/edit_page.rb:  a(:italic, text: 'Italic')</div><div>features/support/pages/edit_page.rb:  a(:link, text: 'Link')</div>
<div>features/support/pages/edit_page.rb:  a(:read, text: 'Read')</div><div>features/support/pages/edit_page.rb:  a(:reference, text: 'Reference')</div><div>features/support/pages/edit_page.rb:  a(:sig, text: 'Signature and timestamp')</div>
<div>features/support/pages/edit_page.rb:  a(:special, text: 'Special characters')</div><div>features/support/pages/edit_page.rb:  a(:view_history, text: 'View history')</div><div>features/support/pages/preferences_page.rb:  a(:appearance_link, text: 'Appearance')</div>
<div>features/support/pages/preferences_page.rb:  a(:date_and_time_link, text: 'Date and time')</div><div>features/support/pages/preferences_page.rb:  a(:editing_link, text: 'Editing')</div><div>features/support/pages/preferences_page.rb:  a(:gadgets_link, text: 'Gadgets')</div>
<div>features/support/pages/preferences_page.rb:  a(:misc_link, text: 'Misc')</div><div>features/support/pages/preferences_page.rb:  a(:pending_changes_link, text: 'Pending changes')</div><div>features/support/pages/preferences_page.rb:  a(:recent_changes_link, text: 'Recent changes')</div>
<div>features/support/pages/preferences_page.rb:  a(:search_link, text: 'Search')</div><div>features/support/pages/preferences_page.rb:  a(:user_profile_link, text: 'User profile')</div><div>features/support/pages/preferences_page.rb:  a(:watchlist_link, text: 'Watchlist')</div>
<div>features/support/pages/wikilove_page.rb:  div(:barnstars, text: 'Barnstars')</div><div>features/support/pages/wikilove_page.rb:  div(:food_and_drink, text: 'Food and drink')</div><div>features/support/pages/wikilove_page.rb:  a(:heart, text: 'WikiLove')</div>
<div>features/support/pages/wikilove_page.rb:  div(:kittens, text: 'Kittens')</div><div>features/support/pages/tour_page.rb:  a(:edit, text: 'Edit')</div><div>features/support/pages/tour_page.rb:  a(:next, text: 'Next')</div>
<div>features/support/pages/move_page.rb:    @browser.a(text: text)</div><div>features/support/pages/move_page.rb:    @browser.a(text: "#{text} Moved")</div><div>features/support/pages/login_page.rb:  a(:password_strength, text: 'password strength')</div>
<div>features/support/pages/login_page.rb:  a(:phishing, text: 'phishing')</div><div>features/support/pages/main_page.rb:  a(:login, text: 'Log in')</div><div>features/support/pages/main_page.rb:  a(:logout, text: 'Log out')</div>
<div>features/support/pages/main_page.rb:  a(:my_sandbox, text: 'My sandbox')</div><div>features/support/pages/main_page.rb:  a(:preferences, text: 'Preferences')</div><div>features/support/pages/main_page.rb:  a(:talk, text: 'Talk')</div>
<div>features/support/pages/upload_wizard_page.rb:  a(:categories, text: 'Add categories and more information ...')</div><div>features/support/pages/upload_wizard_page.rb:  a(:cc, text: 'The copyright holder published this work with the right Creative Commons license')</div>
<div>features/support/pages/upload_wizard_page.rb:  a(:different_license, text: 'Use a different license')</div><div>features/support/pages/upload_wizard_page.rb:  a(:expired, text: 'The copyright has definitely expired in the USA')</div>
<div>features/support/pages/upload_wizard_page.rb:  a(:flickr, text: 'The copyright holder published their photo or video on Flickr with the right license')</div><div>features/support/pages/upload_wizard_page.rb:  a(:found_it, text: "I found it on the Internet -- I'm not sure")</div>
<div>features/support/pages/upload_wizard_page.rb:  a(:logged_in, text: 'logged in')</div><div>features/support/pages/upload_wizard_page.rb:  span(:next, text: 'Next')</div><div>features/support/pages/upload_wizard_page.rb:  a(:not_mentioned, text: 'Another reason not mentioned above')</div>
<div>features/support/pages/upload_wizard_page.rb:  a(:recommended_license, text: 'Use the recommended license')</div><div>features/support/pages/upload_wizard_page.rb:  a(:us_govt, text: 'This work was made by the United States government')</div>
<div>features/support/pages/article_page.rb:  a(:discussion, text: 'Discussion')</div><div>features/support/pages/article_page.rb:  a(:edit, text: 'Edit')</div><div>features/support/pages/article_page.rb:  a(:move_link, text: 'Move')</div>
<div>features/support/pages/page_triage_page.rb:  a(:learn_more, href: /Wikipedia:Page_Curation\/Help/, text: 'Learn more')</div><div>features/support/pages/page_triage_page.rb:  a(:leave_feedback, href: /Wikipedia_talk:Page_Curation/, text: 'Leave feedback')</div>
<div>features/support/pages/page_triage_page.rb:  a(:review, text: 'Review')</div><div>features/support/pages/does_not_exist_page.rb:  a(:create_source, text: 'Create source')</div></div><div><br></div><div>
<br></div><div><br></div><div><br></div></div></div></div>