cross browser compatibility

The cardstories tests were run on a number of browsers to check for portability issues. They were resolved to match the farsides development requirements.

code, CSS and HTML validation

Before trying to debug, the following sanity checks were conducted:

jslint
jslint can be compiled from jscoverage 0.3.1 source package (it is gone in more recent versions). (corresponding patch)
CSS validation
W3 CSS validator diagnostic were checked for the most serious problems (corresponding patch)
HTML validation
W3 HTML validator diagnostic were checked for the most serious problems. Some of them cannot be fixed as it would break the cross browser compatibility (such as the scrolling=yes attribute on an iframe). (corresponding patch)

validate plugin

The validate plugin used to validate the email on the front page was disabled after discovering that its tests do not run on all browsers and a ticket was filed to reactivate it when the problem is fixed.

using crossbrowsertesting


The browsershots service was used to assert that the cardstories tests fail to run on a number of browsers. In order to debug the problems a basic subcription to crossbrowsertesting was used. The first step is to run a non interactive browser shot, which is resolved in less than a minute, on the browser that shows the problem. When displaying the result, only the top of the page is visible. However, when clicking on the Full page it shows all of it, as in the image shown on the left. The easy problems reported by the tests can be identified and fixed.
When a problem requires debugging, a live session can be run within the browser. It is reported to work using a chromium and icedtea from a Debian GNU/Linux wheezy installation.
The subscription is valid for a number of minutes. Each minute spent in a live session is subtracted from the total. A 150 minutes monthly subscription (~$30 usd) would therefore amount to a little more than 2 hours worth of live debugging. When running browser shots, the calculation method is less clear. But there is room for a number of browser shots before exhausting 60 minutes. When running a browser shot for 10 browsers, it uses 10 times more munites than when running a browser shot for a single browser.

portability fixes list