Purpose of Application Testing and Its
Usefulness.
content is under development.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Quisque congue tristique eros. Nulla facilisi. Quisque sem
mauris, ullamcorper ac, gravida id, mattis id, sapien. Nullam
adipiscing enim dapibus felis. Fusce a nisi in odio pulvinar
fringilla. Nunc blandit interdum metus. Duis leo nunc,
sollicitudin ut, fermentum congue, pharetra eu, massa.
Suspendisse potenti. Morbi commodo mauris. Ut at pede. Ut id
nisi. Donec scelerisque urna quis ligula. Praesent est.
Vestibulum scelerisque. Curabitur quam. Fusce rhoncus
pellentesque ipsum. Aenean venenatis metus ac quam. Maecenas
lacus lacus, sagittis vitae, congue at, euismod eu, urna.
Maecenas vitae purus. Praesent eros lectus, porta et, semper
nec, molestie eget, tortor.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Quisque congue tristique eros. Nulla facilisi. Quisque sem
mauris, ullamcorper ac, gravida id, mattis id, sapien. Nullam
adipiscing enim dapibus felis. Fusce a nisi in odio pulvinar
fringilla. Nunc blandit interdum metus. Duis leo nunc,
sollicitudin ut, fermentum congue, pharetra eu, massa.
Suspendisse potenti. Morbi commodo mauris. Ut at pede. Ut id
nisi. Donec scelerisque urna quis ligula. Praesent est.
Vestibulum scelerisque. Curabitur quam. Fusce rhoncus
pellentesque ipsum. Aenean venenatis metus ac quam. Maecenas
lacus lacus, sagittis vitae, congue at, euismod eu, urna.
Maecenas vitae purus. Praesent eros lectus, porta et, semper
nec, molestie eget, tortor.
The Issue.
I required a method to display content segments that wouldn't require a
page refresh to display the segmented content. I required greater
flexibility and ease of implementation than what a similar solution could be
accomplished with AJAX.
The solution would have to parse across any DTD and MIME content type
for those DTDs. The solution must be able to parse in
application/xhtml+xml. It had to function within a .NET
framework environment. It had to meet accessibility and search engine
optimization requirements. In short, it had to meet all of the
requirements for best practices and do it in the most straightforward
manner, e.g. without hacks.
The Solution – Project Seven's
Glide Panel Magic.
Listed below, within the widget's menu tabs, are a few of the
adjustments that were able to be made within the Glide Panel Magic
widget's use to accommodate this Web site. That is one of the primary
benefits behind this widget, — the widget is highly configurable.
The Glide Panel Magic used on this site is a beta release. In this
beta release, the JavaScript has been changed to allow the widget's
use within Web content that is delivered as true XML. In my tests, the
widget performs flawlessly in any Web standard's based HTML or XML environment.
As with most widgets, the PVII
widget is no exception, the primary function of the widget is to provide
a sound basis in its function. With the PVII widget, it accomplishes that.
The PVII Glide Panel Magic widget is highly configurable for the novice.
For the experienced developer, the widget's structure, CSS and code can be adjusted to
meet just about any scenario or use.
The Glide Panel Magic Widget Analysis.
The JavaScript.
Prior to this Beta version of the widget, its JavaScript
used the document.write method and as such could
not be parsed by the Web browser as XML.
Additional changes were made to the script so that required
portions of the widget would be treated as nodes
rather than as text within the Web browser's
DOM.
Such changes within the widget's JavaScript are what now
allow for the widget's use within any XHTML Web
content that is parsed as XML.
The Widget's JavaScript, Search Engines and
Accessibility.
Another very
functional use of the widget's JavaScript is
that all content controlled by the widget will be rendered
and available to any Web browser that does not include a
script engine or wherein scripts have been disabled by the
user. As a result, all content is exposed to search engines
and to some assistive technology user agents.
The JavaScript and noscript Element.
Since the widget's
content usability is not dependent upon its JavaScript,
technically, the use of the noscript element to
provide alternate content is not necessary.
However, if the
targeted audience of the Web content is for a broad audience,
it may be advisable to use the noscript element
for notifying any user whenever they may have JavaScript disabled.
Consideration should be given to inclusion of a skip link that
can be used by individuals who use assistive technology user
agents for by–passing the noscript content
whenever it used for notification to the general visitor in
these circumstances.
The CSS.
Lorem ipsum dolor sit amed sed diam nonummy nibh euismod
tincidunt ut. Duis autem vel eum iriure dolor in hendrerit
in vulputate velit esse molestie consequat, eu feugiat nulla
at vero eros et accumsan et odio qui blandit praesent
luptatum augue duis dolore te feugait nulla facilisi.
Lorem ipsum dolor sit amed sed diam nonummy nibh euismod
tincidunt ut. Duis autem vel eum iriure dolor in hendrerit in
vulputate velit esse molestie consequat, eu feugiat nulla at
vero eros et accumsan et odio qui blandit praesent luptatum
augue duis dolore te feugait nulla facilisi.
The Print Function.
Browsers will print only the content of the Web page that
is exposed to the browser at the time of printing. Since this
widget folds content that is only exposed through the widget's
menu selection, the entire content of the page will not print
unless a print CSS style sheet is used that includes the proper
CSS rules to instruct the browser to expose the folds to the
printer.
The Print Style Rules.
The print style
rules should mimic the effect upon the widget as though its
JavaScript function were disabled. The following rules are
used:
.p7GP01 .sidecontent{display:none}
- The above rule prevents any sidebar content, if
present, within the widget from printing as a sidebar.
.p7GPcontentwrapper,.p7GPsidebar{display:block
!important}
- This rule forces the sidebar content and the folded
content to be displayed to the printer.
.p7GPW{overflow:visible !important}
- This rule ensures that all content is exposed.
Print of Background Colors.
A print style
sheet should be cognizant of the ink consumption that occurs
during any print function. The following rules make adjustment
to disable any background colors or background images that
may have been specified within the widget's CSS for device
display.
.p7GP01 .p7GPinnerwrapper{background-color:#fff
!important}
- The above rule specifies the color of white to be
sent to the printer. White, to a printer, is equivalent
to no color.
.p7GP01 .p7GPtwrapper{background-color:#fff
!important}
- This rule ensures a white background, also.
Print of Widget's Menu.
Dependent upon
how the designer/developer has coded the CSS styles,
consideration should be given to preventing the widget's
menu backgrounds and images from printing.
ul.gpm-links a{background-color:#fff
!important;
background-image:none !important}
- In the case of this site's content and on how the
CSS rules have been written, in conjunction with the
HTML code, the above print rule is used to prevent the
widget's menu images and backgrounds from printing.
Another option
to the designer would be to prevent the printing of the
widget's menu, altogether.
ul.gpm-links a{display:none !important}
- The above rule, if it had been used for this Web
content, would have prevented the printing of the
widget's menu.
For a first hand
look at how these rules affect the print output, use your
browser's print preview function to view this specific Web
page's print output and appearance.
The SEO Structure.
Lorem ipsum dolor sit amed sed diam nonummy nibh euismod
tincidunt ut. Duis autem vel eum iriure dolor in hendrerit
in vulputate velit esse molestie consequat, eu feugiat nulla
at vero eros et accumsan et odio qui blandit praesent
luptatum augue duis dolore te feugait nulla facilisi.
Lorem ipsum dolor sit amed sed diam nonummy nibh euismod
tincidunt ut. Duis autem vel eum iriure dolor in hendrerit in
vulputate velit esse molestie consequat, eu feugiat nulla at
vero eros et accumsan et odio qui blandit praesent luptatum
augue duis dolore te feugait nulla facilisi.
Miscellaneous.
Lorem ipsum dolor sit amet, contuer adiping elit, sed
diam nonummy nibh euismod.
Lorem ipsum dolor sit amet, contuer adiping elit, sed
diam nonummy nibh euismod.Nulla facilisi. Quisque sem mauris,
ullamcorper ac, gravida id, mattis id, sapien. Nulla facilisi.
Quisque sem mauris, ullamcorper ac, gravida id, mattis id,
sapien.
Menu for the Various Glide Panel Widget Test Pages.
Various test pages for the widget are listed below. These tests
demonstrate that the widget is parsed by any modern browser based upon
the DTD and its
MIME
content type. In short, the widget will parse as text/html
or as application/xhtml+xml dependent upon use of the correct
DTD and the browser's ability to recognize and parse XML.
The last link is an example of how the widget renders when JavaScript
is disabled. All content within the widget displays and is available
for search engines and any browser or user agent that does not support
JavaScript.
All of the test links will open into a new browser window.
The Test Page Links.
The XHTML Test Page and
application/xhtml+xml MIME type.
XHTML Web content pages, when the correct DTD and
associated namespace are used, are served with a MIME type of
application/xhtml+xml to modern browsers provided that the
browser supports the application/xhtml+xml MIME and that the
file ends with an xhtml extension. Certain frameworks, such
as the .NET framework, have the ability to configure content negotiation
so that the correct MIME content–type can be delivered to specific
Web browsers that support xml and deliver it to the remaining
browsers as text/html.
In the case of these tests, ASP.NET Web pages, those
pages that use the aspx extension, will deliver
application/xhtml+xml content to browsers that support it.
Since Microsoft Internet Explorer versions 7.0 and below do not support
application/xhtml+xml, the .NET framework delivers these
pages to Internet Explorer with a MIME type of text/html.
Presentation of a true XHTML test on a public external
server is problematic. Many hosting companies have
disabled the xhtml file extension and its proper MIME type,
altogether. This is done, even though, default installation of Microsoft's
IIS includes the xhtml and its correct MIME type for Web
content delivery.
The logic of the hosting company is that since the
browser with the largest market share, Microsoft's Internet Explorer,
does not support xhtml then it should be disabled on the
hosting servers. The logic continues with the rational that it is to
preclude problems with the largest Web content creators, the hobbyist and
do–it–yourself individual.
Point blank, this market segment doesn't know XHTML
from that of doughnuts nor do, generally, the applications they use to
create Web content know the difference. They have no basis to ever, even
inadvertently, specify a content page as XHTML nor use the extension of
xhtml.
The hosting company's solution for the customer who
needs the ability to deliver standards compliant XHTML content is to add
within IIS the xhtml file extension and deliver it. more
often than not, with a MIME type of application/octet-stream.
This specific MIME type is a generic binary content type that basically
tells the browser or application that the content is unknown and the
browser and/or application should try to figure out what to do with it.
The use of application/octet-stream to
deliver XHTML is worse than the delivery of XHTML as text/html.
It defeats one of the primary functions of XHTML. That function is to
remove ambiguity for user agents and browsers in parsing and rendering
of the Web content.
Fortunately, the hosting company for Boinkin Chipmunks,
Go Daddy, decided to provide use for true XHTML content delivery upon
request. Therefore, a viable method for an external test of the widget's
ability to render within a fully standard's based non–framework
Web environment is available.
Thanks, Bob, for the hosting server adjustment! And,
thank you, Gerry, for making your Glide Panel Magic widget even better by
enabling support of true application/xhtml+xml and thus the
ability of your product's use within the .NET framework!
The XHTML Test Page Link.
- Served as
application/xhtml+xml MIME Type
[Not available of Microsoft Internet Explorer.
IE does not support this MIME type.]
Application/XHTML+XML Test
.
The XHTML Generated DOM Source Code.
The generated source code for the XHTML Test is
available for review via the following links:
If you have any questions regarding any issues or questions
concerning application testing, please
e-Mail that boinkin guy.
End of the Accessibility and Structure Main Content.
.
Evening Wear.
Style speaks much. Some things are spoken remarkably well.
Keyboard Navigation and Web Content Usability.
Keyboard navigation of Web content is becoming of greater importance
as more content is accessed by mobile devices. It is not, solely, an
accessibility solution for those with disabilities. Proper structure of
content should allow for site navigation that is not limited to any
specific hardware or device, for example, mouse technologies.
Part of successful keyboard navigation is dependent upon the tab key
and being able to tab through links, form controls and, even, content
segments. Successful implementation of tab control through content cannot
depend upon any browser or user agent to successfully and automatically
assign proper tab order throughout any rendered content.
Designers and developers should assign tabindex values to
all necessary elements. Tab key values should follow the linear order of
the content. Linear order of the value should only be superceded by the
logical order of tab order, when necessary.
Keyboard Shortcuts and Navigation.
Another critical function of keyboard navigation is the use of
shortcut keys for important links and for major content segments. This
requires effective use of the accesskey value. This site
uses a modified version of the United Kingdom Standard of Keyboard
Shortcuts.
More thorough information about the use of the United Kingdom
Standard is available on this Web site's Keyboard Shortcut
content page.
Keyboard Shortcut List.
- Shortcut Key, s.
- Skip to the Main Content.
- Shortcut Key, One.
- The Home Page.
- Shortcut Key, Two.
- The General Page Menu.
- Shortcut Key, Three.
- The Site Map.
- Shortcut Key, Four.
- The Accessibility Policy.
- Shortcut Key, Five.
- The Copyright Notice.
- Shortcut Key, Six.
- The Safety Policy.
- Shortcut Key, Seven.
- The Privacy Policy.
- Shortcut Key, Eight.
- The Terms of Use.
- Shortcut Key, Nine.
- The Contact Page.
- Shortcut Key, Zero.
- The Keyboard Shortcut Links Table.
- Shortcut Key, t.
- The Top of the Page.
- Shortcut Key, c.
- The Main Content Column.
- Shortcut Key, r.
- The Right Sidebar Column.