Reading view

There are new articles available, click to refresh the page.

Oakland prosecutor asks court to refuse Oxford shooter’s request to withdraw guilty plea

Oakland County Prosecutor Karen McDonald is asking a judge to refuse the Oxford High School shooter’s request to withdraw his guilty pleas to murder and other charges.

In filings with the court, the prosecution argues the shooter was fully aware of the consequences of his pleas, which resulted in a sentence of life with no possibility of parole.

Prosecutors argue the teenager acknowledged the shootings were premeditated, willful and deliberate and the sentences fit the crimes.

Related: State and county officials not on same page as Oxford shooting victims look for answers

“There was no defect in the plea-taking process; thus, defendant cannot withdraw his plea,” said the prosecution. “Further, defendant testified under oath that he intended to kill; that he acted knowingly; and that his murders were done with premeditation, were willful, and were deliberate…”

Ethan Crumbley, who was 15 years old at the time of the shootings, pleaded guilty two years ago to murdering four students and injuring seven other people. His defense attorneys argue life without parole is too harsh a sentence, citing a troubled home life and the possibility that fetal alcohol syndrome could be a mitigating factor.

Oakland County Circuit Judge Kwame Rowe is now considering the request. There is no specific timeline for a ruling.

Trusted, accurate, up-to-date.

WDET strives to make our journalism accessible to everyone. As a public media institution, we maintain our journalistic integrity through independent support from readers like you. If you value WDET as your source of news, music and conversation, please make a gift today.

Donate today »

The post Oakland prosecutor asks court to refuse Oxford shooter’s request to withdraw guilty plea appeared first on WDET 101.9 FM.

Michigan 2024 Election Results: State Representatives in Oakland County

All 110 state representative seats in Michigan will be on the ballot this November, with Democrats hoping to hang on to the party’s two-seat majority in the House.

WDET is committed to bringing you accurate, up-to-date election results from each state representative race in Oakland County. Results from uncontested races are not included.

Be sure to bookmark this page or tune in to WDET 101.9 FM for live updates on election results. Last updated at 2 p.m. Nov. 6.

Michigan State House - District 5

Precincts reporting: 67 of 67 (100%)

No Data Found

` } return seriesName } }, tooltip: { enabled: 'yes', theme: 'light', shared: 'yes' === "yes", intersect:!('yes' === "yes"), style: { fontSize: '12px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('200') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('200') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("0"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if("1"){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if("1"){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("yes" ) { columnOptions.tooltip['enabledOnSeries'] = [0]; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if(""){ let style ={ color:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("0") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-7551620"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, '7551620' ); } if (window.ajaxIntervalGraphina_7551620 !== undefined) { clearInterval(window.ajaxIntervalGraphina_7551620) }

Michigan State House - District 6

Precincts reporting: 34 of 34 (100%)

No Data Found

` } return seriesName } }, tooltip: { enabled: 'yes', theme: 'light', shared: 'yes' === "yes", intersect:!('yes' === "yes"), style: { fontSize: '12px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('200') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('200') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("0"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if("1"){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if("1"){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("yes" ) { columnOptions.tooltip['enabledOnSeries'] = [0]; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if(""){ let style ={ color:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("0") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-e15d250"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, 'e15d250' ); } if (window.ajaxIntervalGraphina_e15d250 !== undefined) { clearInterval(window.ajaxIntervalGraphina_e15d250) }

Michigan State House - District 8

Precincts reporting: 70 of 70 (100%)

No Data Found

` } return seriesName } }, tooltip: { enabled: 'yes', theme: 'light', shared: 'yes' === "yes", intersect:!('yes' === "yes"), style: { fontSize: '12px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('250') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('250') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("0"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if("1"){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if("1"){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("yes" ) { columnOptions.tooltip['enabledOnSeries'] = [0]; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if(""){ let style ={ color:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("0") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-b70add7"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, 'b70add7' ); } if (window.ajaxIntervalGraphina_b70add7 !== undefined) { clearInterval(window.ajaxIntervalGraphina_b70add7) }

Michigan State House - District 14

Precincts reporting: 35 of 35 (100%)

No Data Found

` } return seriesName } }, tooltip: { enabled: 'yes', theme: 'light', shared: 'yes' === "yes", intersect:!('yes' === "yes"), style: { fontSize: '12px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('200') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('200') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("0"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if("1"){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if("1"){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("yes" ) { columnOptions.tooltip['enabledOnSeries'] = [0]; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if(""){ let style ={ color:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("0") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-9610310"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, '9610310' ); } if (window.ajaxIntervalGraphina_9610310 !== undefined) { clearInterval(window.ajaxIntervalGraphina_9610310) }

Michigan State House - District 15

Precincts reporting: 44 of 44 (100%)

No Data Found

` } return seriesName } }, tooltip: { enabled: 'yes', theme: 'light', shared: 'yes' === "yes", intersect:!('yes' === "yes"), style: { fontSize: '12px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('200') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('200') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("0"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if("1"){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if("1"){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("yes" ) { columnOptions.tooltip['enabledOnSeries'] = [0]; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if(""){ let style ={ color:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("0") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '12px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-312b642"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, '312b642' ); } if (window.ajaxIntervalGraphina_312b642 !== undefined) { clearInterval(window.ajaxIntervalGraphina_312b642) }

Michigan 2024 Election Results: Oakland County

Voters in Oakland County have several countywide leadership positions on the ballot, as well as a millage proposal from Oakland County Parks.

WDET is committed to bringing you accurate, up-to-date election results for the metro Detroit area. Results from uncontested races are not included.

Be sure to bookmark this page or tune in to WDET 101.9 FM for live updates on election results. Last updated: Nov. 6 at 12:18 p.m.

County races

Oakland County Executive

Precincts reporting: 498 of 498 (100%)

No Data Found

` } return seriesName } }, tooltip: { enabled: 'yes', theme: 'light', shared: 'yes' === "yes", intersect:!('yes' === "yes"), style: { fontSize: '14px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('200') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('200') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("6"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if("1"){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if("1"){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("yes" ) { columnOptions.tooltip['enabledOnSeries'] = [0]; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if(""){ let style ={ color:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("6") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-746046b"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, '746046b' ); } if (window.ajaxIntervalGraphina_746046b !== undefined) { clearInterval(window.ajaxIntervalGraphina_746046b) }

Oakland County Prosecuting Attorney

Precincts reporting: 498 of 498 (100%)

No Data Found

` } return seriesName } }, tooltip: { enabled: 'yes', theme: 'light', shared: 'yes' === "yes", intersect:!('yes' === "yes"), style: { fontSize: '14px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('200') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('200') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("6"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if("1"){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if("1"){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("yes" ) { columnOptions.tooltip['enabledOnSeries'] = [0]; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if(""){ let style ={ color:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("6") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-a222381"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, 'a222381' ); } if (window.ajaxIntervalGraphina_a222381 !== undefined) { clearInterval(window.ajaxIntervalGraphina_a222381) }

Oakland County Sheriff

Precincts reporting: 498 of 498 (100%)

No Data Found

` } return seriesName } }, tooltip: { enabled: 'yes', theme: 'light', shared: 'yes' === "yes", intersect:!('yes' === "yes"), style: { fontSize: '14px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('200') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('200') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("6"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if("1"){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if("1"){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("yes" ) { columnOptions.tooltip['enabledOnSeries'] = [0]; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if(""){ let style ={ color:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("6") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-9c52b19"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, '9c52b19' ); } if (window.ajaxIntervalGraphina_9c52b19 !== undefined) { clearInterval(window.ajaxIntervalGraphina_9c52b19) }

Oakland County Clerk and Register of Deeds

Precincts reporting: 498 of 498 (100%)

No Data Found

` } return seriesName } }, tooltip: { enabled: 'yes', theme: 'light', shared: 'yes' === "yes", intersect:!('yes' === "yes"), style: { fontSize: '14px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('200') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('200') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("6"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if("1"){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if("1"){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("yes" ) { columnOptions.tooltip['enabledOnSeries'] = [0]; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if(""){ let style ={ color:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("6") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-a16d10e"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, 'a16d10e' ); } if (window.ajaxIntervalGraphina_a16d10e !== undefined) { clearInterval(window.ajaxIntervalGraphina_a16d10e) }

Oakland County Commission - District 1

Precincts reporting: 23 of 23 (100%)

No Data Found

` } return seriesName } }, tooltip: { enabled: 'yes', theme: 'light', shared: 'yes' === "yes", intersect:!('yes' === "yes"), style: { fontSize: '14px', fontFamily: 'Poppins' }, y:{ } }, responsive: [{ breakpoint: 1024, options: { chart: { height: parseInt('200') }, } }, { breakpoint: 674, options: { chart: { height: parseInt('200') }, } } ] }; if('1'){ columnOptions.tooltip.y.formatter = function(val){ if(''){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } return '' + val + ''; } return val; } } if ("" === "yes") { columnOptions.yaxis.labels.formatter = function (val) { if('1'){ val = '' + val + ''; if(val){ val = val.split(',') } return val; } let stackCondition = !('') if(stackCondition ){ let decimal = parseInt('0') || 0; if(""){ val = graphinNumberWithCommas(val,',',decimal) } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); }else{ val = parseFloat(val).toFixed(decimal) } } return '' + val + ''; } } if("1"){ columnOptions.yaxis.tickAmount = parseInt("6"); columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return ''; } if("1"){ val = graphinNumberWithCommas(val,',') } else if("" && typeof graphinaAbbrNum !== "undefined"){ val = graphinaAbbrNum(val , parseInt("") || 0 ); } return '' + val + ''; }; }else{ columnOptions.dataLabels.formatter = function (val) { if(Number.isNaN(val)){ return val; } val = parseFloat(val).toFixed(parseInt("0") || 0 ) ; if("1"){ val = graphinNumberWithCommas(val,',') } val = '' + val + ''; return val; }; } if ("yes" ) { columnOptions.tooltip['enabledOnSeries'] = [0]; } if ("") { columnOptions['annotations'] = { yaxis: [ { y: 0, strokeDashArray: parseInt("0"), borderColor: '#000000' } ] }; } if(""){ let style ={ color:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; let xaxisYoffset ='' === 'top' ? -95 : 0; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'xaxis' ,title, style ,xaxisYoffset); } } if(""){ let style ={ color:'', colors:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } let title = ''; if(typeof axisTitle !== "undefined"){ axisTitle(columnOptions, 'yaxis' ,title, style ); } } if(''){ columnOptions.xaxis.tickAmount = parseInt("") || 6; columnOptions.xaxis.min = parseFloat('0') || 0; columnOptions.xaxis.max = parseFloat('0') || 200; } if(''){ columnOptions.yaxis.tickAmount = parseInt("6") || 6; columnOptions.yaxis.min = parseFloat('0') || 0; columnOptions.yaxis.max = parseFloat('0') || 200; } if(""){ let style = { color:'', colors:'#000000', fontSize: '14px', fontFamily: 'Poppins', fontWeight: '', } columnOptions['yaxis'] = [columnOptions.yaxis] let columnYaxisTemp ={ opposite: '1', labels: { show: '', formatter: function (val) { if("" ){ val = graphinNumberWithCommas(val,',') } return '' + val + '' }, style }, tickAmount: parseInt(''), title: { text: '', style } } if(''){ columnYaxisTemp.tickAmount = parseInt('') || 6; columnYaxisTemp.min = parseFloat('0') || 0; columnYaxisTemp.max = parseFloat('0') || 200; } columnOptions.yaxis.push(columnYaxisTemp) } if (typeof initNowGraphina !== "undefined") { initNowGraphina( myElement, { ele: document.querySelector(".column-chart-30ceff0"), options: columnOptions, series: [{name: '', data: []}], animation: true, setting_date:{"iq_column_chart_filter_enable":null,"iq_column_interval_data_refresh":null,"iq_column_can_chart_reload_ajax":null} }, '30ceff0' ); } if (window.ajaxIntervalGraphina_30ceff0 !== undefined) { clearInterval(window.ajaxIntervalGraphina_30ceff0) }

Oakland County Parks millage proposal could bring major improvements if passed

Voters in Oakland County will decide on Nov. 5 whether to approve a millage increase to fund the county’s park system over the next 20 years.

The 0.65-mill tax would replace the existing 0.35-mill rate, raising approximately $52 million annually for park improvements, new green spaces and expanded trail networks.

If passed, the millage would cost the owner of an average home about $40 more per year. Oakland County Parks Director Chris Ward emphasizes that the increase is necessary to maintain current facilities, create new parks and expand partnerships with local communities to bring parks closer to residents.

“What they’re going to see is some great parks that are nearby where they live that are accessible,” Ward said. “You’re going to see our county trail network be built out and be more connected, more funding for maintenance, and more green space preserved. As we deal with the impacts of climate change, we’ll be able to use nature to build some resilience for us.”

One focus of the proposed funding is urban areas like Pontiac Oaks Park, which has seen significant improvements since Oakland County Parks began managing it. Renovations include a new fishing dock, playground upgrades, and reopened restrooms. Ward says future plans for Pontiac Oaks include a pavilion for community gatherings

The millage would also allow for $100 million in updates across Oakland County’s 17 parks. Ward notes that many facilities, such as Waterford Oaks Waterpark, need extensive repairs and updates to meet modern needs.

Ward acknowledges some voter concerns over increased costs, due in part, he says, to the current economic climate. However, he stresses that the parks are 100% funded by millage and user fees.

For the latest election information, visit WDET’s Voter Guide at wdet.org/voterguide.

Trusted, accurate, up-to-date.

WDET strives to make our journalism accessible to everyone. As a public media institution, we maintain our journalistic integrity through independent support from readers like you. If you value WDET as your source of news, music and conversation, please make a gift today.

Donate today »

The post Oakland County Parks millage proposal could bring major improvements if passed appeared first on WDET 101.9 FM.

Vance messages to auto workers during Oakland Township rally

Republican vice presidential pick JD Vance discussed economic policy during a speech Thursday in Waterford Township.
The Republican campaign has consistently promoted high tariffs on China and a greater reliance on fossil fuels as policies it says would help the U.S. auto industry.
Vance said tariffs are the main way to keep companies from using cheap labor abroad, despite economists saying companies are likely to push those costs onto consumers.
“If you impose a fat tariff on the people who are trying to import that stuff, then American factories and American corporations invest in American workers,” Vance said.
The campaign for the Democratic presidential nominee, Vice President Kamala Harris, said she also supports tough-on-China policies when it comes to auto imports.
The Harris campaign accuses Republican nominee Donald Trump of losing thousands of auto industry jobs during his time in office, a period that includes the start of the COVID-19 pandemic.
Both campaigns have gone out of their way this cycle to reach out to rank and file union workers.
Harris has spoken to multiple union crowds in Michigan, most recently last week in Lansing.
Meanwhile, during Vance’s speech on Thursday, the audience heard from the founder of the group Autoworkers for Trump.
Brian Pannebecker said autoworkers have been receptive to former President Trump’s message, despite criticism from United Auto Workers president Shawn Fain.
“Do not believe what you see in the newspapers, do not believe what you see coming out of Shawn Fain’s mouth. He may have endorsed Kamala Harris but the membership of the UAW is voting Donald J. Trump and JD Vance,” Pannebecker said.
Thursday’s event fell in the context of both the Trump and Harris campaigns making their final election push.
The Trump campaign has stayed the course in recent Michigan appearances, hitting Harris on the economy and border security. It’s tried to paint her as a continuation of President Joe Biden’s policies.
Harris campaign events lately have gone further to frame Trump as a unique threat to American democracy.
During his talk Thursday, Vance responded to recent criticism of Trump from officials in the former president’s administration.
Trump’s former chief of staff, retired Marine Corps General John Kelly, told the New York Times, he believed Trump fit the definition of a fascist.
Several other former members of Trump’s administration have also questioned his fitness for office.
But Vance dismissed the concerns from Kelly, saying he’s “a disgruntled ex-employee.”
“John Kelly was fired by Donald Trump and he’s pissed off about it and he won’t stop talking about it,” Vance said.
Harris is highlighting several former Trump administration officials and Republican lawmakers that have endorsed her. That includes former GOP Congressman Fred Upton, who endorsed Harris Thursday morning.
Despite the endorsements and attacks, the race remains tight in Michigan. In-person early voting starts statewide on Saturday.
Around 18.5% of eligible voters had already cast a ballot either early or absentee by the end of Thursday, according to state data.
Republican Congressman John James said Republicans need to step up and vote early, in stark contrast with Trump campaign messaging during the 2020 and 2016 cycles.
“We wait until the last moment, let the Democrats run up the score, and then we wake up the next morning and we’re surprised when we’ve fallen behind,” James said. “We will secure the election but we also need to turn out our friends and family.”
This year, the Trump campaign is telling its supporters to embrace every voting method available.
 

Trusted, accurate, up-to-date.

WDET strives to make our journalism accessible to everyone. As a public media institution, we maintain our journalistic integrity through independent support from readers like you. If you value WDET as your source of news, music and conversation, please make a gift today.

Donate today »

The post Vance messages to auto workers during Oakland Township rally appeared first on WDET 101.9 FM.

Trump talks law enforcement, economic growth during Oakland County roundtable

Former President Donald Trump sought to bring together various parts of his coalition during an Oakland County roundtable Friday evening.

The talk included a New York businessman, representatives of the law enforcement community and members of the United Auto Workers and Teamsters unions. Each was there to highlight a different part of the Republican candidate’s campaign messaging.

For the union workers, Trump discussed his plans for U.S. trade policy should he win back the White House.

Trump has been using promises to jack up tariffs to appeal to autoworkers in particular. He says raising taxes on imported goods would boost the auto industry.

“The higher it goes, the more likely it is that they build in this country,” Trump said.

Presidential campaigns spend a lot of time in Michigan.

Whichever candidate gets the most statewide votes wins all of Michigan’s 15 coveted electoral votes. Kamala Harris (D) and Donald Trump (R) are nearly tied in most polls of the state’s voters.

The map below shows where we know candidates (and some surrogates) have publicly appeared in Michigan since July 15, 2024.

The height of each county on the map represents the number of voters in the 2020 presidential election.

The colors of each county show which party had the lead in votes and how big the lead was. Dark red means Republicans had a big lead and dark blue means the same for Democrats. Counties that look almost white had both parties nearly tied.

His Democratic opponent, Vice President Kamala Harris, is also promoting some tariffs, including a 100% tariff on Chinese electric vehicle imports.

Economists take a mixed view of tariffs, saying they can protect domestic industries, but companies could just pass the cost of the tariffs along to consumers rather than eating those extra costs themselves. Harris has characterized Trump’s heavy tariff plan as, effectively, a national sales tax.

For law enforcement, Trump renewed his “tough-on-crime” messaging. He called for the death penalty against people convicted in the deaths of police officers, and for greater support for law enforcement indicted for alleged crimes while on duty.

Trump said police should have greater shields from prosecution.

“You have a quarter of a second to make a decision and if it’s the wrong decision, your life is over. So, we’re going to do the immunity thing and we’re going to fight alongside them. We have to stop being so politically correct,” Trump said, presumably referring to the legal doctrine of qualified immunity while speaking with Police Officers Association of Michigan President Jim Tignanelli.

Qualified immunity has been criticized as shielding police officers from accountability when they’re involved in shootings or deaths of suspects.

During the discussion, Trump asked Tignanelli how many he felt were innocent out of the 16 officers that Tignarelli estimates are facing indictment in Michigan.

“Innocent, innocent? Probably about 10 of them,” Tignanelli responded.

Aside from the business and blue-collar worker communities, the roundtable also featured someone from Robert F. Kennedy Jr.’s former Make America Healthy Again coalition.

Kennedy, who’s still appearing on the ballot in Michigan, tried to end his campaign in states where he thought his candidacy would hurt Trump.

Nancy Jaafar owns a wellness center in Dearborn. She said the Kennedy messaging made her feel a “glimmer of hope.”

“I have to say I am genuinely terrified for humanity in general. The world needs healing and I can only hope that you and your campaign are the catalysts for that,” Jaafar said.

While Trump campaigned Friday in Auburn Hills and Detroit, Harris was crossing the state trying to build her own coalition.

The Harris campaign has been working to bring together supporters including union members, women, and conservatives who worry about a second Trump presidency.

Both campaigns see Michigan as a critical state in their bids for the White House. Harris is in Detroit Saturday to rally supporters on the first day of early voting in the city.

Trusted, accurate, up-to-date.

WDET strives to make our journalism accessible to everyone. As a public media institution, we maintain our journalistic integrity through independent support from readers like you. If you value WDET as your source of news, music and conversation, please make a gift today.

Donate today »

The post Trump talks law enforcement, economic growth during Oakland County roundtable appeared first on WDET 101.9 FM.

❌