XBL

XBL (XML Binding Language) is an XML-based markup language for altering the behavior of XUL widgets. It was devised at Netscape in the late 1990s as an extension of XUL.

The primary use of XBL was in the Firefox web browser, but Mozilla deprecated it in 2017 and completely removed it from Firefox in 2019. However, the UXP fork of Firefox intends to continue supporting XBL indefinitely.

Mozilla attempted to standardize XBL 2.0 via W3C in 2007, but due to lack of interest from other web browser vendors, abandoned it in 2012.

The Shadow DOM specification acknowledges XBL as a strong influence.

Overview
XUL defines the user interface layout of an application. CSS rules can be used to change the appearance of various XUL elements. But XBL is needed to alter the behavior of a XUL widget, such as a scroll bar.

An XBL file contains bindings, each of which describes the behavior of a XUL widget. The root element of an XBL file is the  element, which contains one or more   elements. Each  element declares one binding, which can be attached to any XUL element. It may also possess an  attribute. A binding is assigned to an element by setting the CSS property  to the URL of the binding's file. For example: