I'm not confused about IDL attributes and you guys should know that. So no problem here. And again, I please you to read the spec more carefully.
This table says:
1. no tabindex attribute present -> default behavior ($.attr should return undefined and $.prop should return either 0 or undefined according to the default behavior of the element)
2. tabindex=0 -> focusable ($.attr and $.prop should return 0)
3. tabindex=1-32768 -> focusable
4. tabindex="-1" -> focusable ($.prop should return -1)
As you can see a tabindex with a negative value (especially "-1") is treated as **always** focusable by the spec. Your change in jQuery assumes the opposite. You also have quoted a spec without giving any reference. I already quoted the spec and provided a reference.
Again, there is a difference between the focusability of the following two different div elements:
<div tabindex="-1">I'm focusable[ by script]</div>
<div>You can't focus me</div>
jQuery always returned the right computed values here (-1 in first case and undefined in the second case) and now you want to change that, why?