Markup languages like HTML and XUL provide many options for visual display. Sometimes it's hard to tell what is “real” and what is just clever animation and a bit of scripting. The discussion on buttons and widgets starts by looking at what a Mozilla widget really is. Thinking about XML-based widgets can be a bit messy, as the following example shows.
Figure 4.1 is a simple XUL application containing one “real” button and two fakes. Which is the real one? Although the third candidate is in the middle of a mouse-click operation, any of the three could be clicked.