Disable uiElement API has changed - no longer works as expected
|Reported by:||tmonahan||Owned by:|
|Component:||UI : Dialogs||Version:||3.6.1|
|Keywords:||IBM||Cc:||damo, satya, jamescun|
The APIs for disabling uiElements in plugins/dialog/plugin.js has changed. It previously disabled the input element. However it now sets the disabled attribute on the uiElement itself. Therefore even though a uiElement is disabled, it is still possible to enter text in it's associated input element.
An example of this can be seen on the table dialog.
- Create a table
- Right click on the table and select Table Properties from the context menu.
- Notice that the Rows and Columns fields look disabled.
- Place the cursor in either the Rows or Columns field and type some text.
Problem: You should not be able to type in these fields. The input elements should be disabled directly instead of disabling the parent div element.
Apart from allowing users to type into disabled fields, the 3.6.1 implementation of this also has an accessibility impact. Disabling the parent div element means that the child input element is not properly disabled and it is therefore still exposed as a focusable and editable field to accessibility APIs. Also disabled is not a supported attribute on div elements in the HTML specifications.
Change History (3)
comment:2 in reply to: ↑ 1 Changed 5 years ago by fredck
- Component changed from General to UI : Dialogs
- Milestone set to CKEditor 3.6.1
- Status changed from new to confirmed