HTML event handlers provide a unique challenge for the widget library. Since HTML event handlers can be used to capture low-level events such as mouse down and decide to discard the event, A widget can not assume that when the user click's on it it will receive focus or when the user presses a key in a text box that it will be entered. The widget must pass events to a registered event handler which decides whether the event is consumed or the widget should perform it's default behavior. To display all of characters in many languages a two-byte unicode character must be used rather than a single byte ascii character. This presents challenges on platforms which don't normally support unicode throughout their native toolkit.
Printing requires widgets to render into a graphics context.
Again, this can present difficulties if the native toolkit does not provide sufficient capability for the rendering of widgets. The current abstract set of widgets is sufficient to support cross-platform HTML forms and a viewer test app. The widgets have been implented for WIN32. The widgets are under development for Mac and should be done within the next month or two. Windows, child windows and textfields, check button, radio button, events, file widget, message pump are working.