Version 4.6 adds/confirms support for the following new browsers:
This version also includes the following, unrelated bugfixes:
There's one significant change to the Keyboard navigation module:
And the following extensions have been updated (either with bugfixes as noted earlier, or simply to add support for new browsers):
This version is a big change in terms of browser and device support. Version 4.5:
The reason for removing OSX/MSN support is that it's a dead browser - withdrawn by Microsoft in May 2005, and now no longer officially available or supported. It would just be wasted code to continue to support it.
Other notable changes in Version 4.5 include:
window.onload
,
allowing it to bypass its dependency on images and other embedded media!
For more about this feature, please see the
um.trigger documentation.
"\"
(backslash) and
":"
(colon), for greater compatibility
with Windows server paths.
Some of the extension scripts have had to be updated to accommodate these changes. If you use any of these extensions you should also update that script:
http
and https
)
And if your layout is based on either the Chocolate bar demo or the Office XP demo, please note that the additional CSS for these examples has changed slightly, as shown in the respective demos.
Finally in local news, I've added an RSS feed to the site, for menu updates and development news.
Version 4.45 is a service release to fix a few quirks and update a couple of extension scripts, most notably:
This update has required changes to the following extensions, so if you're using either of them already, updgrading is necessary:
The "You Are Here" extension has also been updated to avoid a display quirk in Internet Explorer.
Version 4.44 is a critical security update, to fix a recently-discovered vulnerability in the PHP scripts. This vulnerability could allow a malicious user to read directory listings or other files, or to include remote files that run commands as the web user.
You only need to upgrade if you're using the
PHP version.
If you are, please
download the latest zipfile, and
replace udm-style.php
and udm-dom.php
with the new files. After updating you will need to re-set your default
$config
value, and then set the new $cmatch
variable
to define a character-match for allowed filenames. Please see the
PHP setup documentation for details.
Thanks to several people for reporting this, particularly to hackthisite.org who provided a vulnerability report, and to users at CodingForums.com for suggesting solutions.
Version 4.43 introduces two new extensions, both by popular request:
The Load XML extension is only possible because of a new public method called um.refresh, which re-initialises the navigation tree as though the page had been reloaded - many thanks to Mikkel Heisterberg for suggesting this.
It means that you can now add or remove items after page load,
or populate the menus using XMLHttpRequest
(aka
Ajax).
For more about its uses please see:
Refreshing the tree after dynamic changes
There are also some improvements to a couple of existing extensions:
clip
implementation problem in Safari 1.3.
Thanks to Dan Evans for reporting this problem.
And a variety of smaller edits to address some quirks and other issues reported recently:
-1000em
instead
of -100em
. This allows for smaller font sizes
in larger windows, without the likelihood of menus being visible by default.
Thanks to Rich Kowalske for noticing that one.
Version 4.42 is a service release, to tidy up some bugs and other quirks discovered over the last few weeks; notably:
position:fixed
.
This release is a signficant update in terms of accessibility, usability, and cross-browser support. Existing users are encouraged to read these release notes carefully, as the changes may affect your current configuration.
Version 4.4 introduces support for Konqueror 3.2 or later, thanks partly to improvements in the browser, and partly to an increased understanding of its quirks. I'm also very pleased to announce support for Opera 8 - including compatibility with relevant voice commands (if the keyboard navigation module is used).
This version also extends the Keyboard navigation module, addding varying levels of support for Opera 7 and 8, Safari 1.2, and Konqueror 3.2 or later; plus you can now use the Command (apple) key as a hotkey modifier.
And the menu's accessibility to screenreaders is greatly improved, so it no longer relies on scripting, and includes any browser-based reader using Opera, Mozilla, Safari or Konqueror (as well as Win/IE).
The accessibility improvements require a change to the way expanding menus work - assimilating some of the manual conversion process into the main configuration. If you're already using an expanding menu, please see the notes on Converting an expanding menu to 4.4 compatibility.
Most of the extension scripts have been updated or otherwise tweaked - if you're using the Keyboard Navigation Help extension, the Snapshot Cookie extension or the "You are here" extension then you must update, or it won't work correctly anymore. If you're using any other extension, updating is recommended though not essential.
Finally two controls in the
um.list array -
show menus to IE-based screenreaders
and
hide static menus for netscape 4
- have been retired,
because they no longer seem relevant or appropriate.
The first has been superceded by better default behavior;
the second now defaults to "no"
, as it
otherwise would be.
You don't need to take any action here.
Over to the server-side, and there's a new classic ASP configuration to add to the range of available server-side frameworks. The scripting is written in JScript, but since it's all in external files you can equally use it on pages written in VBScript.
Version 4.4 also adds support for dynamically-generated menus in server-side configurations.
Two new extensions this time, both by popular request:
"no"
, reflecting its previous
behavior, but you may want to turn it on if your menus
target an <iframe>
or similar.
"#"
and "nohref"
links,
and a bugfix for IE
so it does proper URI
comparison on addresses containing commas (thanks to Peter Lynch
for that one).
Array
prototypes in other scripting
from showing up in iterators. This resolves a potential
conflict with scripts such as
sIFR;
thanks to Erin Pheil for noticing.
4.302 is another minor service release to fix a small, yet pernitious problem in recent mozilla builds. Thanks to Zsolt Kozak for drawing my attention to that.
4.301 is a minor service release to fix support for dynamic menu creation. Thanks to Nick Kaijaks for reporting that.
Version 4.3 is a major upgrade, yet much of it is behind the scenes: many people won't notice a significant difference, while for others whole new vistas of possibility will unfold.
First and most significantly, UDM 4.3 introduces a brand-new PHP configuration - your custom file is processed on the server, to generate pure CSS styling automatically, and scripting which only includes the functions you're actually using. This reduces the footprint to a practical minimum, and can bring the total filesize down to only 20K!
This is the first in a range of server-side configurations, to be released over the next few months; upcoming frameworks include ASP, XML and Python.
Back on the client-side, Version 4.3 introduces support for right-to-left (RTL) and bi-directional languages, such as Hebrew and Arabic. Thanks to Ophir Radnitz for his help with this.
This version also has several bug-compensation tweaks for better stability and performance in Internet Explorer, particularly with regard to menu indicators - they're no longer visibly affected by the flickering images at certain cache settings bug in IE6, and are now correctly positioned when using a right-aligned navbar with right-aligned text. These changes have also removed the need for a separate arrow-shim image, and fixed an occassional (also cache-related) problem where unrelated CSS background images might be reloaded on the first time of using the menu.
However in order to streamline the code for these changes, it's been necessary to remove support for textual arrow rollovers - you can still use textual arrows, but the characters will only do whatever CSS changes they inherit from their parent link.
On a more general note, you can now download the developer's manul in a range of different formats, including one which is designed for easy printing. And by popular request we've launched a UDM Support Forum where you can ask for help, and offer support to fellow users.
There are also three new
event codes in the
UDM API,
for link mouseout
, mousedown
and mouseup
events.
And the Sliding Menus extension now supports Opera 7.5 (because it can) but no longer supports Mozilla Gecko browsers earlier than 1.3 (because of nasty rendering artifacts).
tabindex
attributes are not used. Thanks to Todd Porter
for noticing this.
F12
, and
so that the help layer is triggered when
navigating with the Tab key.
getElementsByTagName
for the exit-focus expression,
rather than document.links
which
may not be available in
XHTML mode.
Version 4.2 introduces a host of elegant new features:
udm-custom.js
called
um.reset, which allows you to control
whether certain events will send a reset command -
in other words, close all menus and clear all highlighted links.
These options were previously hard-coded to "yes".
There are also three new extensions:
And a selection of smaller improvements and bugfixes, particularly:
There are no major changes in this update, just a few small tweaks:
Version 4.02 adds some useful new features:
And there are several smaller changes, notably:
I've also updated the Making an image-based navbar documentation to correct some problems in Opera 5, 6 and 7.2. Thanks to Mark Hewitt who told me about these.
Version 4.01 adds support for headings within the navbar list, which should improve usability for screenreaders and other serial browsers, by allowing them to skip from branch to branch using their "headings-reading mode" or equivalent. Internal headings also provide additional semantics that should help to distinguish a navbar link from a menu link.
As a pleasant side-effect of this feature, you can now add any valid HTML between <li> and <a>, as well as inside <a>.
There's also a number of smaller fixes and improvements, most notably:
mouseover
method, which
was interfering with the default
behavior of links to show their
URI
in the status bar when
hovered-over or focused.
The following improvements have been made since yesterday's release:
<div>
which uses the align
attribute, the menus do not inherit that alignment, which might
otherwise cause a position discrepancy compared with other browsers.
Why the value of an attribute should be inherited by an
element that doesn't have that attribute,
is anybody's guess..
Version 4.0 is a whole new codebase - improved over Version 3 in almost every conceivable way.
At first, it's what you might expect from a major version upgrade - better, more powerful and configurable, with a wider and more precise range of features. It's also lighter, faster-loading and easier to use.
But it's much more than that - UDM is now based on transformed HTML - which means it still provides content to browsers that don't support javascript.
Among the forerunners of a new breed of semantic DHTML - UDM creates rich, dynamic functionality for modern graphical browsers, but degrades gracefully all the way back to plain text.
Neither Flash nor Java can claim anything like that level of accessibility - the navbar is accessible to all browsers that understand HTML - and unlike traditional DHTML navigation, it doesn't rely on javascript to exist.
UDM 4 is valid XHTML, and in our judgement, meets the criteria for WAI Triple-A conformance.