AcmeMenu October 10, 2005

Browser Notes

AcmeMenu has been tested using the following browsers. The test pages used are testmenu.htm and testeffects.htm.

Internet Explorer 5.5
This was the development platform.
CSS styles for the menu header and submenu header <a> tags need to explicitly specify a width, otherwise the vertical placement of menus and submenus is off. This is important, but easily forgotten.
IE5 incorrectly positions objects 2 pixels off from the coordinate specified except in frames that are not in the top row or in the left column. The software corrects the position of menus in normal windows and in documents that have frames, but because the software cannot determine which frameset row or column a document is in, those menus in frames that are not the top left frame are incorrectly placed 2 pixels off.
Internet Explorer 6 (compatibility mode)
Internet Explorer 6 (standards mode)
The width for menu items needs to be explicitly set as with IE5.5.
Internet Explorer 5.1 for Macintosh
Menus need to be defined directly below the <body> tag, otherwise their placement on the page seems arbitrary.
There is a browser bug with hiding the push-up menus. Their display is not hidden in tags that precede the tag that is just above the menu headers.
Menu <a&bt; tags cannot have the float style set to "left" or "right". The browser incorrectly computes the top y coordinate of the menu placement (it ignores the vertical position of the <a> tag in the document).
Netscape 7.1
Table borders are now included in an element's offsetLeft and offsetTop properties, which is a different interpretation than Mozilla and other DOM 2 browsers.
The -moz-opacity CSS filter now only takes numbers between 0 and 1. Percentages between 0% and 100% are not recognized anymore.
Netscape 7.0
The menu software works well with this browser. It was harder to program for this browser than for Internet Explorer, but eventually workarounds to its limitations and bugs were discovered and it now works pretty well. There are some display anomalies when using tables and when specifying padding for elements that contain other elements with a width set to 100%.
Netscape 6.2
Nautilus 1
Galeon 0.11
The menu software works well with these browsers as long as <div> tags are used for the menus. If using <table> tags, it is required that they have the display:block style setting.
Mozilla 1.2
Vertical menus need the CSS style position:relative; or position:absolute; to be specified. Otherwise the submenus are not positioned at all and simply appear in source code order.
Menus made with <table> tags need to have the display:block style assigned otherwise the menus do not appear. Note that this conflicts with Opera 6.
Mozilla 1.3
Vertical menus do not need the CSS style position:relative; or position:absolute; to be specified like version 1.2.
Mozilla Firebird 0.6
Similar to Mozilla, Firebird works well with all the menus. Speed is improved.
Opera 7
Opera 7 cannot read stylesheet settings from JavaScript yet. Border widths should be set with configuration constants (e.g. Menu.MenuBorderWidth), or they should be small so positioning errors are negligible.
The height returned by Opera of table cells <td> consisting of <a> tags surrounding <img> tags where the line height is not the same as the image height is incorrect. A work-around is to surround the <a> tags with a <div> tag or set the CSS display setting of the <a> tag to display:block.
Opera 6.04
Opera's lack of support for the CSS style display:none; thwarts the use of inline menus, unless having white space preserved when the menu is hidden is what is wanted.
If specifying a top margin for the body, set the configuration variable Menu.BodyMarginTop to its size in pixels. There is a bug in Opera that always reports the top margin as 0.
The path of selected menu items cannot be displayed as Opera ignores changes to an element's class settings.
Menus made with <table> tags CANNOT have the display:block style assigned otherwise the menus appear where they are defined in source code. Note that this conflicts with Mozilla 1.2.
Both Opera 6 and Opera 5 have a general problem that if you specify a CSS style in the HTML, it cannot be overwritten by JavaScript.
Opera 5.12
There is a minor positioning bug if the mouseover event is fired on top of the text in a menu item or if it was fired in the space around the text.
The browser should identify itself as MSIE5.0.
iRider 2.06
There are no known problems with iRider. It passed all the menu tests flawlessly, first time — probably because it is based on the Microsoft IE rendering engine. A very nice browser.
Safari 1.1.1
The menu software works well with these browsers as long as <div> tags are used for the menus. If using <table> tags, it is required that they NOT have the display:block style setting, otherwise the menus appear at the very top or the far left of the page. Note that this conflicts with Mozilla 1.2 and Galeon.