var checkbox = document.createElement('input'); input.type = 'checkbox'; Object.getOwnPropertyDescriptor(input, 'selectionDirection'); // THROWS! It is OK to throw when we try to get the value of the selectionDirection but is an ES5 spec violation to throw on getting the descriptor. This is most likely because we report WebIDL attributes as data properties, and as such, we read the value of the property.
Proposed spec change to not throw on getting: https://github.com/whatwg/html/pull/1006
This is apparently fixed on WebKit trunk: var input = document.createElement('input'); input.type = 'checkbox'; Object.getOwnPropertyDescriptor(input, 'selectionDirection'); -> returns undefined Object.getOwnPropertyDescriptor(input.__proto__, 'selectionDirection'); -> returns {get: function, set: function, enumerable: true, configurable: true} Feel free to reopen if I missed something.
(In reply to comment #1) > Proposed spec change to not throw on getting: > https://github.com/whatwg/html/pull/1006 Oh, this does not seem strictly related to this bug. While WebKit no longer throws on getting the descriptor, accessing input.selectionDirection will throws.
Right, filed https://bugs.webkit.org/show_bug.cgi?id=156500