AMO:Editors/EditorGuide/ThemeReviews

From MozillaWiki
Jump to navigation Jump to search

Firefox Theme Tests

These review guidelines are in addition to standard add-on review guidelines found at: https://wiki.mozilla.org/AMO:Editors/EditorGuide/AddonReviews

  • Testing of themes should be done on a new profile or a profile dedicated to testing themes. With a dedicated theme testing profile you can speed up testing by setting the following general startup options:
    1. When Firefox starts: Show my windows and tabs from the last time
    2. Check: Don't load tabs until selected
    3. Set the about:config and about:permissions settings as instructed in "Test Pages" below
  • Open each of the pages listed below in the "Test Pages" section in its own tab with about:addons being a pinned tab. Do not close tabs between sessions (item #1 above).
  • Make sure the extensions DOM Inspector and Console² are installed in your test profile.
  • When testing themes make sure to disable any extensions that may be installed in the profile (other than DOM Inspector and Console²).
  • Themes have limited capabilities to run code, but this is generally not allowed. Make sure to run the validator to see if there is any JS in the theme. If there is, it should be flagged for Admin Reviewed.
  • Make sure the theme looks good. Text should be easy to read and buttons should be clear and concise.
  • As well as just looking stylish, make sure it all looks stylish in a consistent way.
  • Another important aspect of a theme is to make sure it "fits." This is relevant for menus and dialogs - check to make sure that all the UI elements fit within the default boundaries and do not appear "clipped". If anything's clipped and/or if resizing is required to see it completely, make a note of it and request the author to change it.
  • While testing a theme, don't forget to check that the author has included a suitable preview image.

OS Specific Issues

Linux

  • Unstyled Firefox Button: A very common issue themes have on Linux is improperly or totally unstyled Firefox button, and the Firefox button not changing styling when in private browsing mode. The primary cause of this issue is that the Firefox button has a different ID in Linux from Windows. As a result, in the browser.css file any reference to #appmenu-button also needs a comparable reference to #appmenu-toolbar-button.
  • Strong Black borders Around URL Bar Door Hangers (drop down panels): Many Windows based themes make use of the box-shadow style rule, however, it is not supported on Linux Firefox and resulting in the strong black border. If the strong black border is noticed, it should be noted to the developer and they should be encouraged to make sure any box-shadow style rules are targeted only to Windows.

OS-X

If you test any theme that is supposed to support OS-X please make sure that if the following files exist in "chrome://browser/skin/" they were also copied to "chrome://browser/skin/lion/":

  • keyhole-circle.png
  • Toolbar.png
  • toolbarbutton-dropmarker.png
  • tabbrowser/alltabs-box-bkgnd-icon.png
  • tabview/tabview.png
  • places/toolbar.png

The other solution theme developers can do is rename the files to something non-default and then make the proper file mappings in the theme's CSS files. NOTE: This issue doesn't require OS-X to test, you only need to look in the theme contents (via the "contents" or "compare" links) to see if the files in question exist. For more information see Bug 679708 and Bug 702558

Win7 w/Aero Glass Support

Any theme that supports Aero Glass transparency needs to be tested going from a normal window to full screen.Often times when this is tried, the browser window will disappear or not go to full screen properly. When this happens, developers need to be provided the following note:

On Win7 with Aero Glass support Firefox doesn't always go to full screen mode from a normal window properly.
The resolution to this issue is to add the following code to your browser.css file somewhere below where the 
main-window is made transparent to support Aero glass. For more information about this issue please see 
https://bugzilla.mozilla.org/show_bug.cgi?id=732757 and http://forums.mozillazine.org/viewtopic.php?f=18&t=2438459.
++++++++++
@media all and (-moz-windows-compositor) {
  /* Make transition to Fullscreen mode seamlessly in Firefox 10+ */
  #main-window[inFullscreen="true"] {
    -moz-appearance: none;
     background-color: -moz-dialog!important;
  }
}
+++++++++

See Bug 732757 and this MozillaZine thread for more information.

Special Considerations

Windows and OS-X use different CSS rules to generate OS native scrollbars. As a result any cross OS theme either needs to target different scrollbar rules for each OS or use custom XUL scrollbars.

Error Console

As the testing procedures below are carried out, keep an eye on the error console and make note of any CSS warnings that are flagged for chrome paths containing the word "skin". Warnings about unknown properties with "-moz" can probably be ignored (a list of valid "-moz" properties can be found on the Mozilla Extensions page). Other types of warnings (e.g. "Error in parsing value") should be copied from the error console and pasted into review notes for the developer to investigate. Generally, error console warnings about CSS issues should NOT be grounds for withholding a full review of a theme. However, providing notes to developers about CSS issues that are noted can be tremendously helpful when trying to resolve issues with parts of themes not displaying and/or functioning properly. After loading URLs to actual webpages the error console may need to be cleared to keep chrome issues from being buried by content issues.

Test Dialogs/Features

Please note that testing of some dialogs/features is put off until the webpage tests below. Policies on failure are for worst case failure. Minor styling issues should just get notes.

Dialog/Feature Policy on failure* What to test
'Edit > Find' Preliminary Review Make sure find toolbar is styled appropriately and functions correctly.
View > Toolbars > Customize
  1. Preliminary Review
  2. Preliminary Review
  3. Add Note
  1. Make sure customize toolbar dialog is formatted reasonably.
  2. With the "show" options set to "icons", check and uncheck "use small icons", toolbar icons needs to display properly in both states (ideally they will be different sizes). Repeat test using show "icons and text".
  3. With "use small icons" checked, change "show" to "text". Make sure toolbar button height is reasonable for text only buttons and that the text is vertically aligned in middle of buttons. If it is not provide this note or something similar in the review:

    When "use small icons is checked and "show" is set to "text" in customize toolbars, text labels in toolbar buttons are not aligning properly. The common cause of this is style rules that reference [iconsize="small"] without excluding [mode="text"]. The solution usually is to append :not([mode="text"]) to those style rules. For instance use 'toolbar[iconsize="small"]:not([mode="text"])'. A little experimenting may be required to fully address this issue with your theme.

Check 'View > Toolbars > Bookmarks Toolbar' Preliminary Review Make sure toolbar is formatted reasonably.
Check 'View > Toolbars > Add-on Toolbar' Preliminary Review Using customize toolbars, add a toolbar button to this toolbar (at the bottom of the browser window). Make sure toolbar is formatted reasonably.
Check 'View > Toolbars > Tabs on Top' and uncheck 'View > Toolbars > Tabs on Top'
  1. Preliminary Review
  2. Preliminary Review
  1. Make sure Firefox button is formatted reasonably. On Windows, with browser window maximized, make sure tabs display properly between Firefox button and right hand window control buttons.
  2. Go to private browsing mode (Firefox > Start Private Browsing), and verify that Firefox button changes appearance when in private browsing mode on Windows. Exit private browsing mode, enable menu bar (check Firefox > Options/Preferences > Menu Bar) and uncheck "tabs on top".
'View > Sidebar > Bookmarks' and 'View > Sidebar > History' Preliminary Review Make sure sidebar is formatted appropriately.
'History > Show All History' Preliminary Review Make History/Bookmarks Library is formatted appropriately. Drill in to a specific bookmark/history item. Test drop down menus and forward/back buttons.
'Tools > Set Up Sync' Preliminary Review Work through the sync dialog as if you are creating a new account and connecting to a device completion of account creation and connecting not necessary). Make sure Sync is formatted appropriately and things seem to work.
'Tools > Web Developer > Web Console' Add Note Make sure web console and its buttons are appropriately styled.
'Tools > Web Developer > Scratchpad' Add Note Make sure scratchpad appropriately styled.
'Tools > Web Developer > Inspect' (FF10+) Add Note Make sure styling is appropriate. See default theme for how breadcrumb DOM ribbon should look/function.
'Tools > Web Developer > Style Editor' (FF11+) Add Note Make sure styling is appropriate. See default theme for how style editor should look/function.
'Tools > Web Developer > Page Source' Preliminary Review Make sure styling is appropriate.
  • Windows: 'Tools > Options'
  • Linux: 'Edit > Preferences'
Add Note Make sure all tabs are formatted and functioning correctly.
Help > About Preliminary Review Make sure it is styled appropriately and MUST use an appropriate Firefox logo.

Test Pages

All of the following URLs should be tested. If you are testing a series of themes, you might want to open each of the links/items below into their own tab and set Firefox startup options to "show my windows and tabs from last time". You might also want to check the option "don't load tabs until selected" as this will help with checking by CSS errors by allowing you to only load "about:addons" after restarting from installing the theme, thus the only CSS errors in the error console should be related to the theme. In regards to policies on failure, just add notes for minor formatting issues rather than rejecting or granting only a preliminary review (unless developer hasn't fixed issue after fair warning).

URL Policy on failure What to test
about:addons
  1. Preliminary Review
  2. Preliminary Review
  3. Add Note
  1. Make sure formatting is reasonable. Addon type tabs need distinct icons. Make sure there is a significant difference between enabled and disabled addons. It is strongly encouraged but not required that the icons of disabled addons be greyed out.
  2. Pin this tab to make sure pinned tabs work correctly.
  3. Assuming that this was the only tab that loaded per the instructions above, open the error console and see if there are any CSS errors/warnings.
about:home (<FF8) Preliminary Review Make sure page is formatted reasonably.
about:config Add Note Make sure it is formatted correctly.
While in about config, set the following keys to aid later testing:
  • geo.enabled=true (bool)
  • browser.syncPromoViewsLeft=1000 (integer)
  • security.warn_viewing_mixed=true (bool)
  • security.warn_viewing_mixed.show_once=false (bool)
about:permissions (FF6+) Add Note Make sure it is formatted correctly.
While in about:permissions, make sure that if there are entries for them, the following domains have the necessary permissions:
  • addons.mozilla.org: Store password = Allow
  • www.mozilla.org: Share location = Always ask
AMO Addon
  1. Reject
  2. Preliminary Review
  3. Preliminary Review
  4. Preliminary Review
  5. Add Note
  6. Add Note
  1. Test Identity box with corporate name and distinctive color. Make sure identity drop down displays correctly including required security icons. The default theme uses green for the button, but this is not required.
  2. Test RSS feed icon. Place RSS button on toolbar and make sure its appearance is different for pages that have RSS feeds from those that don't. If you don't have a live bookmark on your bookmark toolbar, add this page's feed to it.
  3. Test print preview. Make sure it is formatted reasonably.
  4. Test Fullscreen mode (F11). Make sure it is formatted reasonably and functions correctly.
  5. Log in to AMO (using a fake username/password is okay), make sure the save password panel is formatted reasonably and includes an appropriate key icon. On the save password dropdown from the identity box there is a sync "door hanger" it needs a proper border. See Bug 708797
  6. Double click on the bookmark star in the URL bar. The edit bookmark box will appear there is a sync "door hanger" make sure the edit bookmark panel and sync door hanger are formatted reasonably
Bugzilla
  1. Reject
  2. Preliminary Review
  1. Identity box with just domain name and different distinctive color. Make sure identity drop down displays correctly. The default theme uses blue for the button, but this is not required.
  2. Popup window. Click on "click me" link. Make sure URL bar in popup window is formated as read only.
About Mozilla
  1. Reject
  2. Preliminary Review
  3. Add Note
  1. Non-encrypted objects on encrypted page warning (in about:config, the key security.warn_viewing_mixed must be true), there should be a popup warning about non-encrypted data and the identity box must NOT look like it is secure (checking the checkbox on the alert will ensure it triggers in the future without having to set about:config setting). If page looks secure double check page using default theme to make sure webpage wasn't fixed.
  2. Use video controls in embedded HTML5 video to make sure they look reasonable and function correctly.
  3. On FF10 press play button for video and make sure the play icon is replaced with a pause icon. If it is not provide the following note:

    On Firefox 10, the play icon does not change to a pause icon when videos start. To address this issue, change the style rules:

    ------ .playButton[paused] {...} .muteButton[muted] {...} ------ To: ------ .playButton[paused="true"] {...} .muteButton[muted="true"] {...} ------

    You can test this by going to: http://www.mozilla.org/about/

Google PageSpeed extension download Preliminary Review On page click on "install page speed link and make sure a prompt appears in identity box verifying whether or not to install extension.
Mozilla geolocation Test Preliminary Review Click on link labeled "Give it a try" and then the "where am I" button to activate geolocation alert. Make sure it displays correctly.
Mozilla phishing test page Preliminary Review Phishing warning test page. Check notification strip after ignoring phishing warning.
Mozilla malware test page Preliminary Review Malware warning page. Check notification strip after ignoring malware warning
https://63.245.209.11/ Preliminary Review Untrusted connection alert. Click on identity box to test drop down details.
jar:https://bugzilla.mozilla.org/attachment.cgi?id=288634!/ Preliminary Review Unsafe Remote File Type. Access denied. Make sure it is formatted reasonably.
Mozilla FTP Archive Preliminary Review FTP. Make sure it is formatted reasonably.
  • Windows: file:///c:/
  • All other OSs: file:///
Preliminary Review Local File System. Make sure it displays correctly. (Mac users may have to adapt file path)
chrome://global/content/bindings/textbox.xml Add Note Unformatted XML Preview. Make sure it is formatted reasonably.
about:sessionrestore Add Note Make sure it is formatted reasonably.
about:memory Add Note Make sure it is formatted reasonably.
about:license Add Note Make sure it is formatted reasonably.
about:robots Add Note Make sure it is formatted reasonably.

Usability Tests

The Themes should be usable without Mouse - widgets have to change their appearance when tabbed through them with the keyboard. (e.g. checkboxes, radio buttons, tabs, should indicate key focus). Many of these tests can be conducted in conjunction with other tests above.

  • Tab Strip: Tab through tab strip using Ctrl+Tab. Active tab should be visually different from other tabs.
  • Group Tabs: Activate group tabs using Ctrl+Shift+E the highlighted tab should be visually different from other tabs use the up/down/left/right arrows to navigate from tab to tab and then press enter to open the desired tab.
  • Menu Bar: Activate the file menu using Alt+F and then use keyboard to navigate through menus and sub-menus. The selected menu item must be visually different and the highlighted text must be legible.
  • Places: In the places (History/Bookmarks) panel tab around and use keyboard arrows to navigate. Make sure it is visible what the selected item is.
  • Options: Open the options panel and make sure you can navigate around the options panel and that you know what has focus. You must be able to change tabs, and settings from the keyboard.

Special Screen States

  • Full screen mode - there must be restore and minimize buttons!
  • Tabs on Top - Tabs may be above the Address bar or on the Caption of the Window, this is a matter of choice for the Theme author
  • Try to move the search box to a different toolbar (e.g. menu bar); this is what people with narrow screens would do
  • Sync Now

Next: The Mailing List