Fixes #17390.  Don't always override an instance's constraints with am empty object.
(cherry picked from commit 46ea1d899811988d545bf5974a5326e53fa5e484)

Conflicts:
	form/ValidationTextBox.js
	form/tests/test_validate.html
fix padding miscalculation, thanks JaeTea666, fixes #17571
(cherry picked from commit 2ec779c9f75fc399cb3883d05964fa3183b00ecf)
ValidationTextBox#pattern changes should update state

Fixes #17408.
(cherry picked from commit d658ea556f423dc9fe284f84a98319d1974f7b1f)

Conflicts:
	form/tests/test_validate.html
Do not copy properties indiscriminately from `constraints`

Fixes #17250.
(cherry picked from commit 492fbe3cbfff2987c7b29fb7b5232f4c9ee7566a)

Conflicts:
	_TimePicker.js
	tests/_TimePicker.html
Support unprefixed pointer events

Refs #17600
(cherry picked from commit 275211f84351d18b000b35cb495e8efc6fde7937)
Fix bad module IDs in DnD tests

Fixes #17601
(cherry picked from commit b2f0c2d65df0c36510bed64fe2885b1f96b54ed3)

Conflicts:
	tests/tree/robot/Tree_dnd.html
	tests/tree/robot/Tree_dnd_multiParent.html
	tests/tree/robot/Tree_selector.html
keypress event does not fire for non-character keys in Firefox

This matches the DOM 3 Events specification.

Fixes #17604.
(cherry picked from commit aca9e3e11dbf54a8570d6c8a017810e5ba61857a)

Conflicts:
	tests/form/robot/Spinner_a11y.html
Work around Chrome bug for Textarea robot test

The bug is an issue with TabContainer in Chrome blowing its width.
This does not fix the real bug, it just makes the unrelated test
failure stop happening.

Fixes #17605.
(cherry picked from commit d17e2d1659be1da2db7db831fcc292d02a102a3b)

Conflicts:
	tests/form/test_Textarea.html
Speed up test.
(up-ported from commits 2070514b8ad48c9308c6d76c4b81051e1e5daf34 and 9cf86295113c6ed9cb2ba8fcf34def861356929b)
add role=presentation for MenuItem accessibility, fixes #17598

Conflicts:
	templates/MenuItem.html
add aria-hidden=true to fix Safari VoiceOver, fixes #17629
(cherry picked from commit d75cc474f58140e97670fb4714fcadfcdc947822)

Conflicts:
	form/templates/ComboButton.html
refs #17468, update example in dijit/form/Form to use registry rather than ddijit.byId

Conflicts:
	form/Form.js