This test checks to see if accesskey attributes works on all elements.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Check for A tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for ABBR tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for ACRONYM tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for ADDRESS tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for APPLET tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for AREA tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for ARTICLE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for ASIDE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for AUDIO tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for B tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for BASE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for BASEFONT tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for BDO tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for BGSOUND tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for BIG tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for BLOCKQUOTE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for BODY tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for BR tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for CANVAS tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for CAPTION tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for CENTER tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for CITE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for CODE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for COL tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for COLGROUP tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for COMMAND tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for DATALIST tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for DD tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for DEL tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for DETAILS tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for DFN tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for DIR tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for DIV tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for DL tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for DT tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for EM tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for EMBED tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for FIELDSET tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for FIGCAPTION tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for FIGURE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for FONT tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for FOOTER tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for FORM tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for FRAME tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for FRAMESET tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for H1 tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for H2 tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for H3 tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for H4 tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for H5 tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for H6 tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for HEAD tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for HEADER tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for HGROUP tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for HR tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for HTML tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for I tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for IFRAME tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for IMG tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for INS tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for KBD tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for KEYGEN tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for LABEL tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for LAYER tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for LI tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for LINK tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for LISTING tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for MAIN tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for MAP tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for MARK tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for MARQUEE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for MENU tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for META tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for METER tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for NAV tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for NOBR tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for NOEMBED tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for NOFRAMES tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for NOLAYER tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for NOSCRIPT tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for OBJECT tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for OL tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for OUTPUT tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for P tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for PARAM tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for PLAINTEXT tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for PRE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for PROGRESS tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for Q tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for RP tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for RT tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for RUBY tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for S tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for SAMP tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for SCRIPT tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for SECTION tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for SMALL tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for SOURCE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for SPAN tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for STRIKE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for STRONG tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for STYLE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for SUB tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for SUMMARY tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for SUP tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for TABLE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for TBODY tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for TD tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for TFOOT tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for TH tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for THEAD tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for TITLE tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for TR tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for TRACK tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for TT tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for U tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for UL tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for VAR tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for VIDEO tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for WBR tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

Check for XMP tag
PASS testElement.accessKey is defined.
PASS testElement.accessKey ='k'; testElement.accessKey == 'k' is true
PASS pressKey(testElement.accessKey);[clicked, focused] is [true, false]

PASS successfullyParsed is true

TEST COMPLETE










