Build: Install shell dependencies in the right direcytory. Update trac instructions to point out that only minutes and seconds need to be changed. Fixes #8848 - Build: release.js fails to require shelljs/global.
Dialog: Improve accessibilty - add an aria-describedby attribute on the dialog if there is nothing yet in the dialog content. Partial fix for:
Dialog: Keep focus inside modal dialog, by handling focus events on elements outside of it
Dialog: move to top when opening again, and focus as if opened from scratch.
Dialog: Inline code review
Dialog: Fix yoda-if, remove unnecessary TODOs; add missing callbacks to commons test
Dialog: Remove deprecated disableSelection() usage.
Dialog: Trigger focus event when dialog is moved to top.
Dialog: Use $.isEmptyObject() to check if there a button-option properties
Dialog: Only add the new dialogClass, not the base classes when changing the option.
Dialog: Remove attroperty workaround for title attribute. Make the default null, as it should be. No back-compat, as the behaviour doesn't change.
Dialog: Focus tabbable only when dialog lost focus before.
Dialog: Use button widget for close button (was already listed as dependency)
Dialog: Refactor _setOption to call _super early. Move dialogClass update above that to access old option value.
Dialog: Have _createButtons access the buttons option directly. Start refactoring _setOption, no need for switch.
Dialog: Finish refactoring _setOption, getting rid of unnecessary switch (no fallthroughs).
Dialog: Have _makeResizable look at options instead of passing handles.
Dialog: Remove outdated TODO
Dialog: Refactor the mousedown-bind call to use _on, removing the need for the uiDialog closure. Use this.uiDialog and remove the variable.
Dialog: Refactor uiDialogTitlebar variable, use this.uiDialogTitlebar instead. Wasn't needed anymore (previous refactorings).