Tab order in OS X

If you're wondering why the OS X application you're debugging isn't tabbing to the NSButton control in your interface even though you've correctly set your initialFirstResponder and nextKeyView outlets in Interface Builder, it's because you have full keyboard access disabled in your System Preferences (this is the default setting in OS X; I don't understand why that's the case and, surely, this should make it impossible for screen-reader users to access all controls in the operating system, shouldn't it?)

In any case, it's not a bug in your code, it's just how the operating system works.

To enable full keyboard access, go to System Preferences → Keyboard & Mouse → and click the All controls radio button under the Full keyboard access section at the bottom of the dialog.

(And remember that the key view loop is called a loop for a reason, don't forget to set that last control's nextKeyView outlet to point to your first control to complete the loop.)