The above buttons control content that appears below this paragraph.
This div was exposed when you clicked on the Show Div button.
Observations
With no ARIA markup other than aria-controls, JAWS does not announce the content immediate after it's exposed.
If the content is already visible when the button receives focus, JAWS says "Use JAWS key + Ctrl + M to move to controlled element" (this key combination appears to be undocumented; I couldn't find it mentioned anywhere in the JAWS Keyboard Commands)
By using JAWS recommended keystrokes, focus moves to the controlled element but doesn't read it. It just echoes the keystrokes. If I use JAWS key + H to read the current content, it does so.
NVDA doesn't provide any built-in functionality to take the user to the controlled element.
After adding aria-expanded="false" to button
NVDA announces "Show Div button collapsed"
After clicking the button, NVDA says "Expanded"
JAWS also announces "collapsed" and "expanded" states
After adding aria-owns to button
aria-owns does not appear to have any effect
After adding aria-haspopup to button
JAWS announces "Show Div button menu collapsed", as if a popup is only applicable to a menu.
NVDA is the same as JAWs but announces "submenu" rather than "menu"
VoiceOver says "Show Div collapsed pop-up button"
After adding code that places focus on first element in newly exposed element
VoiceOver reads the content automatically as soon as it receives focus
NVDA also reads the focused content.
JAWS also reads the focused content in IE11, but not in Firefox. Focus is still on the button unless we used JAWS + Ctrl + M to move to controlled element.