UNPKG

apex4x

Version:

The Comprehensive ARIA Development Suite

588 lines (585 loc) 24.9 kB
<!doctype html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title> ARIA Comboboxes (Native Inputs, Editable and Readonly) - Apex 4X Technical Style Guide </title> <meta name="description" content="Scalable ARIA Components" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="stylesheet" type="text/css" href="../../_common/css/components-style.css" /> <link rel="stylesheet" type="text/css" href="css/combobox.css" /> <script src="/4X/4X.js"></script> <script src="js/setup.js"></script> </head> <body> <div class="bypass"> <ul class="list-unstyled"> <li> <a class="skip--link" href="javascript:void(0);" onclick="document.getElementById('main').focus();" > Skip to Main Content </a> </li> </ul> </div> <div class="outer-wrapper"> <header class="header flex-container"> <div class="logo flex-item"> <a href="https://whatsock.com"> <img alt="WhatSock : Changing the world one step at a time" src="../../_common/img/whatsock.svg" /></a> </div> <div class="site-name flex-item"> <strong>Apex 4X</strong> Technical Style Guide </div> </header> <div class="wrapper"> <div class="left-aside"> <nav> <p> <a href="/Tutorials/Beginner-Introduction.htm" >Beginner Tutorial</a > </p> <h2>Template Examples</h2> <ul> <li><a href="../../index.htm">Back to Components</a></li> <li><a href="../index.htm">Back to Parent Widget</a></li> <li> <a href="index.htm" aria-current="page" >Native Inputs, Editable and Readonly</a > </li> <li> <a href="../Native%20Inputs,%20Editable%20with%20Substring%20Match/index.htm" >Native Inputs, Editable with Substring Match</a > </li> <li> <a href="../Native%20Inputs,%20Editable%20with%20Word%20Match/index.htm" >Native Inputs, Editable with Word Match</a > </li> <li> <a href="../Native%20Inputs,%20Multiselect%20Editable%20with%20Substring%20Match/index.htm" >Native Inputs, Multiselect Editable with Substring Match</a > </li> <li> <a href="../Simulated,%20Readonly/index.htm" >Simulated, Readonly</a > </li> <li> <a href="../Simulated,%20Readonly%20Multiselect/index.htm" >Simulated, Readonly Multiselect</a > </li> </ul> </nav> </div> <main id="main" class="main" tabindex="-1"> <div class="demo-block flex-container"> <div class="component flex-item"> <h1 class="pageTitle"> ARIA Combobox <small>(Native Inputs, Editable and Readonly)</small> </h1> <div class="form--container editable-readonly"> <form id="frm1"> <fieldset> <legend>Home Address</legend> <p> <label for="strt">Street:</label> <input type="text" name="street" required aria-required="true" id="strt" /> </p> <p> <label for="cty">City:</label> <input type="text" name="city" required aria-required="true" id="cty" /> </p> <p> <label for="stt">State or province:</label> <input type="text" name="state-input-value" required id="stt" class="aria-combobox" /> <!-- For editable Input elements: To ensure accessibility for non-sighted touch screen device users, a dynamic Close icon is needed. This must include an active element role such as 'button' or 'link', and include informative label text. --> <img id="mobileCloseIcon" class="hidden" src="img/close.png" role="button" title="Close State Dropdown" aria-label="Close State Dropdown" /> </p> <p> <label for="zp">Zipcode:</label> <input type="text" name="zipcode" required aria-required="true" id="zp" /> </p> <p class="select--container"> <label for="ctry">Country:</label> <input type="text" name="country-input-value" required readonly id="ctry" class="aria-combobox" /> <!-- For readonly Input elements: To ensure accessibility for sighted mouse and non-sighted touch screen device users, a dynamic Toggle icon is needed. This must include informative label text. --> <img id="ctryIcon" class="btn--select--expand" title="Country selector" src="img/down.svg" alt="Open options" /> </p> </fieldset> <p> <input type="submit" value="Submit" /> </p> </form> </div> <div class="note"> <p> The State field is an editable ARIA Combobox widget that uses a native Input element. The Country field is a readonly ARIA Combobox widget that uses a native Input element. </p> </div> </div> <div class="keyboard flex-item"> <h2> The native input comboboxes are optimized for screen reader and keyboard only users. </h2> <ul> <li> Set focus to the State or Country fields to open the combobox control. </li> <li> Within a combobox that is not readonly, first type into the field, then press the <kbd class="down">Down</kbd> arrow to navigate into the dropdown and use the <kbd class="up">Up</kbd> and <kbd class="down">Down</kbd> arrow keys to navigate available options. </li> <li> Press any other letter or number, or the <kbd class="left">Left</kbd> or <kbd class="right">Right</kbd> arrow keys to then move focus back into the Input for editing. </li> <li> Within a combobox that is readonly, press the <kbd class="down">Down</kbd> arrow or click the trigger icon to open the dropdown. </li> <li> Press any letter or number within a readonly field to jump to an option starting with that character or digit. </li> <li> Press <kbd>Enter</kbd> or <kbd>Alt</kbd>+<kbd>Up</kbd> to close the dropdown and save the selection. </li> <li> To cancel, press <kbd>Escape</kbd>, <kbd>Tab</kbd> or <kbd>Shift</kbd>+<kbd>Tab</kbd> to close the dropdown. </li> <li> Sighted mouse users can click the desired option to save the selection and close the dropdown. </li> </ul> </div> </div> </main> </div> <footer class="footer"> <div class="flex-container-row"> <div class="flex-item"> <h2>License</h2> <p> Apex 4X including all template design patterns is distributed under the terms of the Open Source Initiative OSI - MIT License, and may be freely used for any purpose within any web technology. </p> </div> <div class="flex-item"> <h2>Resources</h2> <ul> <li> <a target="ext" href="https://github.com/WhatSock/apex" >Apex 4X on GitHub</a > </li> <li> <a target="ext" href="https://whatsock.github.io/visual-aria/github-bookmarklet/visual-aria.htm" >Visual ARIA Bookmarklet</a > </li> <li> <a target="ext" href="https://chrome.google.com/webstore/detail/visual-aria/lhbmajchkkmakajkjenkchhnhbadmhmk" >Visual ARIA Chrome Extension</a > </li> <li> <a target="ext" href="https://addons.mozilla.org/en-US/firefox/addon/visual-aria/" >Visual ARIA Firefox Extension</a > </li> <li> <a target="ext" href="https://github.com/AccDC/visual-aria" >Visual ARIA on GitHub</a > </li> <li> <a target="ext" href="https://whatsock.com/training/matrices/" >ARIA Role Conformance Matrices</a > </li> <li> <a target="ext" href="https://whatsock.com/training/" >Accessibility Tree Training Guide</a > </li> </ul> </div> <div class="flex-item"> <h2>Acknowledgements</h2> <ul class="list--horizontal"> <li> Author and developer: <a target="ext" href="https://www.linkedin.com/in/bgaraventa" >Bryan Garaventa</a > </li> <li> Website designer: <a target="ext" href="https://gericci.me/">Angela Ricci</a> </li> <li> Style and markup editor: <a target="ext" href="https://www.linkedin.com/in/laurence-lewis-77520365/" >Laurence Lewis</a > </li> </ul> </div> </div> </footer> </div> <select name="state-select-value" id="states" style="display: none"> <option value="Alabama">Alabama</option> <option value="Alaska">Alaska</option> <option value="Arizona">Arizona</option> <option value="Arkansas">Arkansas</option> <option value="California">California</option> <option value="Colorado">Colorado</option> <option value="Connecticut">Connecticut</option> <option value="Delaware">Delaware</option> <option value="Florida">Florida</option> <option value="Georgia">Georgia</option> <option value="Hawaii">Hawaii</option> <option value="Idaho">Idaho</option> <option value="Illinois">Illinois</option> <option value="Indiana">Indiana</option> <option value="Iowa">Iowa</option> <option value="Kansas">Kansas</option> <option value="Kentucky">Kentucky</option> <option value="Louisiana">Louisiana</option> <option value="Maine">Maine</option> <option value="Maryland">Maryland</option> <option value="Massachusetts">Massachusetts</option> <option value="Michigan">Michigan</option> <option value="Minnesota">Minnesota</option> <option value="Mississippi">Mississippi</option> <option value="Missouri">Missouri</option> <option value="Montana">Montana</option> <option value="Nebraska">Nebraska</option> <option value="Nevada">Nevada</option> <option value="New Hampshire">New Hampshire</option> <option value="New Jersey">New Jersey</option> <option value="New Mexico">New Mexico</option> <option value="New York">New York</option> <option value="North Carolina">North Carolina</option> <option value="North Dakota">North Dakota</option> <option value="Ohio">Ohio</option> <option value="Oklahoma">Oklahoma</option> <option value="Oregon">Oregon</option> <option value="Pennsylvania">Pennsylvania</option> <option value="Rhode Island">Rhode Island</option> <option value="South Carolina">South Carolina</option> <option value="South Dakota">South Dakota</option> <option value="Tennessee">Tennessee</option> <option value="Texas">Texas</option> <option value="Utah">Utah</option> <option value="Vermont">Vermont</option> <option value="Virginia">Virginia</option> <option value="Washington">Washington</option> <option value="West Virginia">West Virginia</option> <option value="Wisconsin">Wisconsin</option> <option value="Wyoming">Wyoming</option> </select> <select name="country-select-value" id="countries" style="display: none"> <option value="Afghanistan">Afghanistan</option> <option value="Albania">Albania</option> <option value="Algeria">Algeria</option> <option value="Andorra">Andorra</option> <option value="Angola">Angola</option> <option value="Antigua &amp;amp; Deps">Antigua &amp; Deps</option> <option value="Argentina">Argentina</option> <option value="Armenia">Armenia</option> <option value="Australia">Australia</option> <option value="Austria">Austria</option> <option value="Azerbaijan">Azerbaijan</option> <option value="Bahamas">Bahamas</option> <option value="Bahrain">Bahrain</option> <option value="Bangladesh">Bangladesh</option> <option value="Barbados">Barbados</option> <option value="Belarus">Belarus</option> <option value="Belgium">Belgium</option> <option value="Belize">Belize</option> <option value="Benin">Benin</option> <option value="Bhutan">Bhutan</option> <option value="Bolivia">Bolivia</option> <option value="Bosnia Herzegovina">Bosnia Herzegovina</option> <option value="Botswana">Botswana</option> <option value="Brazil">Brazil</option> <option value="Brunei">Brunei</option> <option value="Bulgaria">Bulgaria</option> <option value="Burkina">Burkina</option> <option value="Burundi">Burundi</option> <option value="Cambodia">Cambodia</option> <option value="Cameroon">Cameroon</option> <option value="Canada">Canada</option> <option value="Cape Verde">Cape Verde</option> <option value="Central African Rep">Central African Rep</option> <option value="Chad">Chad</option> <option value="Chile">Chile</option> <option value="China">China</option> <option value="Colombia">Colombia</option> <option value="Comoros">Comoros</option> <option value="Congo">Congo</option> <option value="Congo {Democratic Rep}">Congo {Democratic Rep}</option> <option value="Costa Rica">Costa Rica</option> <option value="Croatia">Croatia</option> <option value="Cuba">Cuba</option> <option value="Cyprus">Cyprus</option> <option value="Czech Republic">Czech Republic</option> <option value="Denmark">Denmark</option> <option value="Djibouti">Djibouti</option> <option value="Dominica">Dominica</option> <option value="Dominican Republic">Dominican Republic</option> <option value="East Timor">East Timor</option> <option value="Ecuador">Ecuador</option> <option value="Egypt">Egypt</option> <option value="El Salvador">El Salvador</option> <option value="Equatorial Guinea">Equatorial Guinea</option> <option value="Eritrea">Eritrea</option> <option value="Estonia">Estonia</option> <option value="Ethiopia">Ethiopia</option> <option value="Fiji">Fiji</option> <option value="Finland">Finland</option> <option value="France">France</option> <option value="Gabon">Gabon</option> <option value="Gambia">Gambia</option> <option value="Georgia">Georgia</option> <option value="Germany">Germany</option> <option value="Ghana">Ghana</option> <option value="Greece">Greece</option> <option value="Grenada">Grenada</option> <option value="Guatemala">Guatemala</option> <option value="Guinea">Guinea</option> <option value="Guinea-Bissau">Guinea-Bissau</option> <option value="Guyana">Guyana</option> <option value="Haiti">Haiti</option> <option value="Honduras">Honduras</option> <option value="Hungary">Hungary</option> <option value="Iceland">Iceland</option> <option value="India">India</option> <option value="Indonesia">Indonesia</option> <option value="Iran">Iran</option> <option value="Iraq">Iraq</option> <option value="Ireland {Republic}">Ireland {Republic}</option> <option value="Israel">Israel</option> <option value="Italy">Italy</option> <option value="Ivory Coast">Ivory Coast</option> <option value="Jamaica">Jamaica</option> <option value="Japan">Japan</option> <option value="Jordan">Jordan</option> <option value="Kazakhstan">Kazakhstan</option> <option value="Kenya">Kenya</option> <option value="Kiribati">Kiribati</option> <option value="Korea North">Korea North</option> <option value="Korea South">Korea South</option> <option value="Kosovo">Kosovo</option> <option value="Kuwait">Kuwait</option> <option value="Kyrgyzstan">Kyrgyzstan</option> <option value="Laos">Laos</option> <option value="Latvia">Latvia</option> <option value="Lebanon">Lebanon</option> <option value="Lesotho">Lesotho</option> <option value="Liberia">Liberia</option> <option value="Libya">Libya</option> <option value="Liechtenstein">Liechtenstein</option> <option value="Lithuania">Lithuania</option> <option value="Luxembourg">Luxembourg</option> <option value="Macedonia">Macedonia</option> <option value="Madagascar">Madagascar</option> <option value="Malawi">Malawi</option> <option value="Malaysia">Malaysia</option> <option value="Maldives">Maldives</option> <option value="Mali">Mali</option> <option value="Malta">Malta</option> <option value="Marshall Islands">Marshall Islands</option> <option value="Mauritania">Mauritania</option> <option value="Mauritius">Mauritius</option> <option value="Mexico">Mexico</option> <option value="Micronesia">Micronesia</option> <option value="Moldova">Moldova</option> <option value="Monaco">Monaco</option> <option value="Mongolia">Mongolia</option> <option value="Montenegro">Montenegro</option> <option value="Morocco">Morocco</option> <option value="Mozambique">Mozambique</option> <option value="Myanmar">Myanmar</option> <option value=" {Burma}">{Burma}</option> <option value="Namibia">Namibia</option> <option value="Nauru">Nauru</option> <option value="Nepal">Nepal</option> <option value="Netherlands">Netherlands</option> <option value="New Zealand">New Zealand</option> <option value="Nicaragua">Nicaragua</option> <option value="Niger">Niger</option> <option value="Nigeria">Nigeria</option> <option value="Norway">Norway</option> <option value="Oman">Oman</option> <option value="Pakistan">Pakistan</option> <option value="Palau">Palau</option> <option value="Panama">Panama</option> <option value="Papua New Guinea">Papua New Guinea</option> <option value="Paraguay">Paraguay</option> <option value="Peru">Peru</option> <option value="Philippines">Philippines</option> <option value="Poland">Poland</option> <option value="Portugal">Portugal</option> <option value="Qatar">Qatar</option> <option value="Romania">Romania</option> <option value="Russian Federation">Russian Federation</option> <option value="Rwanda">Rwanda</option> <option value="St Kitts &amp;amp; Nevis">St Kitts &amp; Nevis</option> <option value="St Lucia">St Lucia</option> <option value="Saint Vincent &amp;amp; the Grenadines"> Saint Vincent &amp; the Grenadines </option> <option value="Samoa">Samoa</option> <option value="San Marino">San Marino</option> <option value="Sao Tome &amp;amp; Principe"> Sao Tome &amp; Principe </option> <option value="Saudi Arabia">Saudi Arabia</option> <option value="Senegal">Senegal</option> <option value="Serbia">Serbia</option> <option value="Seychelles">Seychelles</option> <option value="Sierra Leone">Sierra Leone</option> <option value="Singapore">Singapore</option> <option value="Slovakia">Slovakia</option> <option value="Slovenia">Slovenia</option> <option value="Solomon Islands">Solomon Islands</option> <option value="Somalia">Somalia</option> <option value="South Africa">South Africa</option> <option value="Spain">Spain</option> <option value="Sri Lanka">Sri Lanka</option> <option value="Sudan">Sudan</option> <option value="Suriname">Suriname</option> <option value="Swaziland">Swaziland</option> <option value="Sweden">Sweden</option> <option value="Switzerland">Switzerland</option> <option value="Syria">Syria</option> <option value="Taiwan">Taiwan</option> <option value="Tajikistan">Tajikistan</option> <option value="Tanzania">Tanzania</option> <option value="Thailand">Thailand</option> <option value="Togo">Togo</option> <option value="Tonga">Tonga</option> <option value="Trinidad &amp;amp; Tobago">Trinidad &amp; Tobago</option> <option value="Tunisia">Tunisia</option> <option value="Turkey">Turkey</option> <option value="Turkmenistan">Turkmenistan</option> <option value="Tuvalu">Tuvalu</option> <option value="Uganda">Uganda</option> <option value="Ukraine">Ukraine</option> <option value="United Arab Emirates">United Arab Emirates</option> <option value="United Kingdom">United Kingdom</option> <option selected value="United States">United States</option> <option value="Uruguay">Uruguay</option> <option value="Uzbekistan">Uzbekistan</option> <option value="Vanuatu">Vanuatu</option> <option value="Vatican City">Vatican City</option> <option value="Venezuela">Venezuela</option> <option value="Vietnam">Vietnam</option> <option value="Yemen">Yemen</option> <option value="Zambia">Zambia</option> <option value="Zimbabwe">Zimbabwe</option> </select> </body> <script async src="https://api.whatsock.com/accdc-updates.js?4x=template" ></script> </html>