Show 10 latest posts only from users with contributors role

you can use the author parameter of WP_Query

here is a simple function to get you going with a hook to a shortcode and another hook to render this shortcode inside a simple text widget:

function ten_latest_of_contributers($atts = null){
global $post;
//store the current post data
$temp = $post;
$contributors = get_users(array('role'=> 'contributor'));
//then create an array of contributors ids

$contributors_ids = array();
foreach ($contributors as $user) {
    $contributors_ids[] =  $user->ID;
}

//then create a new query and use the author parameter
$con_query = new WP_Query(array(
    'author' => implode( ',', $contributors_ids ),
    'post_type' => 'post',
    'posts_per_page' => 10));

//all that is left is to loop
$re="<ul>";
while($con_query->have_posts()){
    $con_query->the_post();
    $re .= '<li><a href="'.get_permalink($post->ID).'">'.get_the_title($post->ID).'</a></li>';
}
$re .= '</ul>';
//reset the current post data
wp_reset_postdata();
$post = $temp;

//return the list
return $re;
}
// hook your shortcode
add_shortcode('ten_latest_con','ten_latest_of_contributers');

//render shortcodes in widgets
add_filter('widget_text', 'do_shortcode');

Paste this code in your theme’s functions.php and then just enter [ten_latest_con] inside a text widget.