User Tools

  • Logged in as: anonymous (anonymous)
  • Log Out

Site Tools


mantisbt:style_guide

This is an old revision of the document!


HTML

  • Inline Javascript should not appear in any HTML output. This ban includes all onclick/onmouseover/etc attributes, inline <script..>something();</script> blocks and use of javascript:something() in hyperlink hrefs.
  • Inline CSS styling should not appear in any HTML output. This ban includes all style attributes and inline <style>..</style> blocks.
  • I strongly suggest looking at PHPTAL over any other templating engine I've come across. This will assist us with security (automatically escaping strings to prevent XSS attacks), internationalisation and ease of template maintenance. The templates are valid XML documents and can be rendered directly in a web browser without needing to be parsed through the templating engine.
  • Come to some sort of arrangement on how plugins will manipulate the HTML to insert their own buttons, widgets, etc as required.

CSS

  • The only method allowed for including CSS styling is via including an external CSS stylesheetin the <head> of the document.
  • Use multiple stylesheets for different screen resolutions so that the page will appear differently on a smartphone (small horizontal width) and widescreen monitor (large horizontal width).
  • Split layout and colour/text into different stylesheets. The layout stylesheet would control the layout of components on the screen (positions, widths, heights, etc) whereas the colour/text stylesheet would control the branding of MantisBT. This could make it easier for people to rebrand MantisBT as they won't need to worry about breaking layout CSS to change colours and text effects on their MantisBT install.

Javascript

  • The only method allowed for including Javascript is via including an external script file in the <head> of the document.
  • The pages should be able to function without Javascript enabled. If Javascript is available then it can be used to replace parts of the DOM with more advanced functionality (in the same way jQuery UI operates).
  • jQuery should be used exclusively for any Javascript-based features so that we don't have a huge mismatch of various frameworks and libraries to maintain in the future. jQuery plugins are OK to use (there are plenty of them) but we should at least try to opt for plugins that have high rates of usage and are under active and healthy development.

Accessibility

  • Look at supporting right-to-left (RLT) in the redesign for languages that require this functionality.
  • Investigate accessibility concerns in depth to determine how the pages will work in screen readers, on browsers with extra large font sizes, for colour blind users, etc.

User Interface

  • Avoid dumbing down the interface to cater for computer illiterate users (and making the interface look pretty) at the expense of making life hard for “power users”. Power users are those who are attached to MantisBT for many hours of the day triaging issues, scheduling work, creating reports, etc and they desire the most efficient workflow possible. Having to find functionality that has been hidden away behind multiple mouse clicks is going to frustrate them.
mantisbt/style_guide.1287106742.txt.gz · Last modified: 2010/10/14 21:49 (external edit)