The DOMBlogger Content Management attempts to produce W3C HTML5 markup using standard compliant W3C CSS 2.1 for page layout.
The result of this attempt is that our product typically produces content that properly renders in most currently supported modern browsers.
Most currently supported browsers support XHTML and advertise their ability to accept the application/xhtml+xml Internet media type to the server when they request content.
Chrome, FireFox and Opera are the browser we primarily use while testing the CMS and thus they are very well supported.
We rarely test on Safari but it should properly render in Safari. Anyone have a spare Macintosh? ;)
No testing has yet been done with Internet Explorer 9. Allegedly IE 9 is better at supporting web standards than previous versions of IE so in theory (famous last words) content produced by the CMS should properly display in IE 9.
When Apple open sourced Webkit, a port of Webkit to the Gtk platform was made. Many fast lightweight browsers (such as Midori) now exist that use the Webkit Gtk backend. Technically Google Chrome uses Webkit Gtk, though they use a customized version of the Webkit Gtk backend.
How well these browsers work with DOMBlogger depends upon the version and build options used for the Webkit Gtk backend. If an older version of WebKit Gtk is used, for example, HTML5 media may not properly work. Web font support also appears to be spotty.
If you use a Webkit Gtk based browser, please make sure you have a current version of Webkit Gtk installed.
Some currently supported browsers do not support web pages sent as XML. The well known examples are version of Internet Explorer prior to version 9.
DOMBlogger makes adjustments to the content to compensate for these browsers:
When these browsers request a web page, the content is sent using the older text/html Internet media type. The DOM is dumped server side as proper HTML instead of XML. That is one of beauties of using the DOMDocument class for content generation.
The older versions of browsers that do not accept XML also often do not properly associate style to the semantic HTML5 tags. DOMBlogger will use div in place of most semantic markup tags for these browsers, increasing the odds of proper rendering.
<aside id="margin"> <!-- margin content here --> </aside>
would be sent to non XML browsers as:
<div id="margin"> <!-- margin content here --> </div>
Non XML browsers usually do not support the SVG image type. When you upload an SVG image, DOMBlogger automatically makes a PNG version of the image. When a Non XML browser requests an SVG image, DOMBlogger will send the PNG version of the image.
Internet Explorer Version 6 is not supported by DOMBlogger. It is a really odd browser that often requires special care when crafting CSS style sheets and at this point, its market share is so low that it just is not worth the time and money required to develop for it.
We simply will not respond to rendering issues that involve Internet Explorer 6.
Internet Explorer 7 will be supported by DOMBlogger at least until Windows XP reaches end of life and possibly longer. Internet Explorer 8 will likely be supported beyond support for IE 7.
This means if there is a rendering problem in those browsers caused by the DOMBlogger engine, we will try to fix it.
Accessibility is important to us. Unfortunately it can sometimes be very difficult to understand what practices result in accessibility issues.
Some Accessibility issues are common sense:
- Provide text description alternatives for visual elements
- Avoid using tables for layout, use tables only for tabular data
- Use semantic markup wherever it is possible to do so.
- Links should be recognizable and descriptive.
- Specify font sizes using relative sizes
Many of those issues are beyond the ability of the Content Management System to adequately enforce. The user providing the content to be managed must think about those things.
What a Content Management System can do is provide an easy means for the user to make their content accessible, and perhaps even provide some tools for pointing potential accessibility issues.
This is an area DOMBlogger is very interested and hopefully we will be able to produce a product that properly handles accessibility issues and encourages content producers to provide content that is properly accessible.
As the provider of the content to be managed, it is your responsibility to make sure your content is cross browser compatible. The CMS should make it easy to provide cross browser compatible content, but there is only so much a CMS can do.
Try to conform to the W3C specification for HTML5. If your content conforms to the standard it far more likely to properly display across a variety of browsers and it is easier for the CMS to compensate for browsers that need special consideration.
Make use of semantic tags, such as strong instead of b and em instead of i. Make use of the new HTML5 semantic tags including article, section, details and figure.
Avoid using tables for non tabular data. When you do use tables, use the th node with the scope attribute so that the tables are easier to understand from a non visual perspective. Avoid using iframe if at all possible.
If you use CSS features from CSS3 (opposed to CSS 2.1) make sure display of the web page does not depend upon the browser understanding CSS3.
Do not autostart multimedia. Let the user start the multimedia when the user wants it to start. There is nothing more annoying than using a search engine to find pages of interest, opening several in new tabs, and then have one (or more) of them start multimedia when the person is not even looking at the page yet.
Make sure you provide the necessary metadata for DOMBlogger to provide proper alt tags for images.
Avoid un-necessary eye candy that looks cool but detracts from functionality. This seems to be a growing trend among web developers, and it is annoying.
Test your web pages in a browser without using a mouse, using the tab key to navigate the page. If you find that you can not perform certain actions that you can with a mouse, you have an accessibility problem.