-
Notifications
You must be signed in to change notification settings - Fork 137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
replace with button #240
base: master
Are you sure you want to change the base?
replace with button #240
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Use of the keyboard with Galene | ||
|
||
People wich are not able to use a mouse need to have other possibilities. | ||
|
||
Some user will use the keyboard in order to navigate to the galene Web | ||
Interface and will use the Tab Key to select the wanted element and | ||
other key as arrow up, down, space. | ||
|
||
User with visual impairement, may use a screenreader. | ||
|
||
For keyboard user we can use the following keys: | ||
|
||
- 'u' goto user list | ||
- 'c' go to the chat input box | ||
- 'r' raise, unraise hand | ||
- 'm' mute, unmute | ||
|
||
|
||
- Esc close contextual menu, close the setting, close the chat box, | ||
close the user list | ||
|
||
|
||
For the screenreader user, it is difficult to provide shortcuts, most | ||
keys or keys combination are reserved from the OS the screenreader and | ||
the browser. | ||
|
||
In order to offer a faster way for selecting the wanted element, we use | ||
thw header navigation (h1, h2. h3). | ||
|
||
- The key 1 will got to the main Title of the page. | ||
- The key 2 will allow to select one of the area user list, chat box or media area. | ||
- The key 3 allow to navigate from message to message. | ||
- The Tab and Esc key work as for the normal keyboard user | ||
|
||
Screenreader shall announce the error and warning textes issued by galene, | ||
this is also implemented. | ||
|
||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,9 @@ | ||
button { | ||
background: none; | ||
border: 0; | ||
color: inherit; | ||
} | ||
|
||
.nav-fixed .topnav { | ||
z-index: 1039; | ||
} | ||
|
@@ -109,15 +115,15 @@ | |
display: none; | ||
} | ||
|
||
.sidenav .user-logout a { | ||
.sidenav .user-logout button { | ||
font-size: 1em; | ||
padding: 7px 0 0; | ||
color: #e4157e; | ||
cursor: pointer; | ||
line-height: .7; | ||
} | ||
|
||
.sidenav .user-logout a:hover { | ||
.sidenav .user-logout button:hover { | ||
color: #ab0659; | ||
} | ||
|
||
|
@@ -312,7 +318,6 @@ | |
resize: none; | ||
overflow: hidden; | ||
padding: 5px; | ||
outline: none; | ||
border: none; | ||
text-indent: 5px; | ||
box-shadow: none; | ||
|
@@ -467,7 +472,7 @@ textarea.form-reply { | |
} | ||
|
||
.collapse-video { | ||
left: 30px; | ||
left: calc(-100vw); | ||
right: inherit; | ||
} | ||
|
||
|
@@ -864,14 +869,6 @@ h1 { | |
overflow-y: hidden; | ||
} | ||
|
||
#input:focus { | ||
outline: none; | ||
} | ||
|
||
#inputbutton:focus { | ||
outline: none; | ||
} | ||
|
||
#resizer { | ||
width: 4px; | ||
margin-left: -4px; | ||
|
@@ -945,17 +942,21 @@ h1 { | |
position: fixed; | ||
-webkit-transition: all .2s ease-out; | ||
transition: all .2s ease-out; | ||
width: 0px; | ||
width: 250px; | ||
/* on top of everything */ | ||
z-index: 2999; | ||
top: 0; | ||
right: 0; | ||
height: calc(var(--vh, 1vh) * 100); | ||
overflow-x: hidden; | ||
overflow-y: hidden; | ||
|
||
} | ||
.sidenav.invisible { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We already have |
||
display: none; | ||
} | ||
|
||
.sidenav a { | ||
.sidenav button { | ||
padding: 10px 20px; | ||
text-decoration: none; | ||
font-size: 30px; | ||
|
@@ -965,7 +966,7 @@ h1 { | |
line-height: 1.0; | ||
} | ||
|
||
.sidenav a:hover { | ||
.sidenav button:hover { | ||
color: #c2a4e0; | ||
} | ||
|
||
|
@@ -1112,8 +1113,12 @@ header .collapse:hover { | |
|
||
/* Shrinking the sidebar from 200px to 0px */ | ||
#left-sidebar.active { | ||
min-width: 0; | ||
max-width: 0; | ||
display: none; | ||
} | ||
|
||
#left-sidebar:not(.active) { | ||
display: block; | ||
width:200px; | ||
} | ||
|
||
#left-sidebar .sidebar-header strong { | ||
|
@@ -1148,41 +1153,47 @@ header .collapse:hover { | |
cursor: pointer; | ||
overflow: hidden; | ||
white-space: pre; | ||
display: block; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What does this do? |
||
width: 100%; | ||
text-align: left; | ||
} | ||
|
||
#left-sidebar.active #users > div { | ||
#left-sidebar.active #users > button { | ||
padding: 10px 5px !important; | ||
} | ||
|
||
#users > div:hover { | ||
#users > button:hover { | ||
background-color: #f2f2f2; | ||
} | ||
#users > button:focus, #users > button:focus-visible { | ||
outline-offset: -2px; | ||
} | ||
|
||
#users > div::before { | ||
#users > button::before { | ||
content: "\f111"; | ||
font-family: 'Font Awesome 6 Free'; | ||
color: #20b91e; | ||
margin-right: 5px; | ||
font-weight: 900; | ||
} | ||
|
||
#users > div.user-status-raisehand::before { | ||
#users > button.user-status-raisehand::before { | ||
content: "\f256"; | ||
} | ||
|
||
#users > div::after { | ||
#users > button::after { | ||
font-family: 'Font Awesome 6 Free'; | ||
color: #808080; | ||
margin-left: 5px; | ||
font-weight: 900; | ||
float: right; | ||
} | ||
|
||
#users > div.user-status-microphone::after { | ||
#users > button.user-status-microphone::after { | ||
content: "\f130"; | ||
} | ||
|
||
#users > div.user-status-camera::after { | ||
#users > button.user-status-camera::after { | ||
content: "\f030"; | ||
} | ||
|
||
|
@@ -1300,7 +1311,7 @@ header .collapse:hover { | |
display: block; | ||
} | ||
|
||
.sidenav a {padding: 10px 10px;} | ||
.sidenav button {padding: 10px 10px;} | ||
|
||
.sidenav-header h2 { | ||
line-height: 36px; | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2455,7 +2455,7 @@ function userMenu(elt) { | |
*/ | ||
function addUser(id, userinfo) { | ||
let div = document.getElementById('users'); | ||
let user = document.createElement('div'); | ||
let user = document.createElement('button'); | ||
user.id = 'user-' + id; | ||
user.classList.add("user-p"); | ||
setUserStatus(id, user, userinfo); | ||
|
@@ -4170,11 +4170,13 @@ document.getElementById('disconnectbutton').onclick = function(e) { | |
}; | ||
|
||
function openNav() { | ||
document.getElementById("sidebarnav").style.width = "250px"; | ||
//document.getElementById("sidebarnav").style.width = "250px"; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please don't leave commented-out code. Why is this being removed? |
||
document.getElementById("sidebarnav").classList.remove('invisible'); | ||
} | ||
|
||
function closeNav() { | ||
document.getElementById("sidebarnav").style.width = "0"; | ||
//document.getElementById("sidebarnav").style.width = "0"; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please don't leave commented-out code. |
||
document.getElementById("sidebarnav").classList.add('invisible'); | ||
} | ||
|
||
document.getElementById('sidebarCollapse').onclick = function(e) { | ||
|
@@ -4183,9 +4185,16 @@ document.getElementById('sidebarCollapse').onclick = function(e) { | |
}; | ||
|
||
document.getElementById('openside').onclick = function(e) { | ||
e.preventDefault(); | ||
let sidewidth = document.getElementById("sidebarnav").style.width; | ||
if (sidewidth !== "0px" && sidewidth !== "") { | ||
// e.preventDefault(); | ||
// let sidewidth = document.getElementById("sidebarnav").style.width; | ||
// if (sidewidth !== "0px" && sidewidth !== "") { | ||
// closeNav(); | ||
// return; | ||
// } else { | ||
// openNav(); | ||
// } | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please don't leave commented-out code. |
||
let invisible = document.getElementById("sidebarnav").classList.contains('invisible'); | ||
if (! invisible) { | ||
closeNav(); | ||
return; | ||
} else { | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please explain what that does?