For now I've put my money where my mouth is and wrote a script for Firefox + Autohotkey (https://autohotkey.com/). I'm sure it wouldn't be too different for Chrome. The '#IfWinActive Danbooru' makes sure it doesn't kick in for any other windows or games.
I've got other stuff on the numpad (next post, close tab, add artist to favorites) so I used Numpad 2 and 8 for up and down. You could change the 'Numpad2::' to ++:: for shift-plus, ^u:: for ctrl-u, !u:: for alt-u, #u:: for winkey-u, or NumpadPlus:: for numpad plus (etc)
; === Danbooru vote post up / down in Firefox ===
#IfWinActive Danbooru
DBFindVote( )
{
Send,{esc}^f
Sleep,100
SendInput,vote up
Sleep,100
SendInput,{esc}
Sleep,100
clipboard = ; clear clipboard
SendInput,{Shift Down}{Right}{Right}{Shift Up}^c
ClipWait ; wait for data
if( clipboard != "up" ) {
MsgBox,,,No 'vote up' found,3
return 0
}
return 1
}
; Vote down with Numpad 2
Numpad2::
if( DBFindVote() == 1 )
{
SendInput {tab}{return}
Sleep,100
SendInput {home}
; MsgBox,,,Voted DOWN,1
}
return
; vote up with numpad 8
Numpad8::
if( DBFindVote() == 1 )
{
SendInput {return}
Sleep,100
SendInput {home}
; MsgBox,,,Voted UP,1
}
return
#IfWinActive